以下为ChatGPT自动生成的解答,正确与否请自行判断。 也许你也可以从大家的发帖中找到想要的答案!
BFE.devAI解答 - 前端面试问题
15. `Array.prototype.forEach()` vs `Array.prototype.map()`
forEach()
和 map()
都是数组方法,用于遍历数组中的每一个元素。但是它们的返回值不同。
forEach()
没有返回值,只是在每个元素上执行一个函数。而 map()
则会返回一个新数组,新数组的每个元素是原数组中对应元素执行函数后的结果。
举个例子,我们有一个数组 [1, 2, 3]
,然后我们希望将每个元素都乘以 2。使用 forEach()
:
const arr = [1, 2, 3];arr.forEach((item, index) => { arr[index] = item * 2;});console.log(arr); // [2, 4, 6]
使用 map()
:
const arr = [1, 2, 3];const newArr = arr.map(item => item * 2);console.log(newArr); // [2, 4, 6]
可以看到,使用 map()
可以直接得到一个新数组,而不用通过修改原数组来实现。