以下为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() 可以直接得到一个新数组,而不用通过修改原数组来实现。