我
请说明`.forEach`循环和`.map()`循环的主要区别,它们分别在什么情况下使用?
难度:
为了理解两者的区别,我们看看它们分别是做什么的。
forEach
- 遍历数组中的元素。
- 为每个元素执行回调。
- 无返回值。
js
const a = [1, 2, 3];
const doubled = a.forEach((num, index) => {
// 执行与 num、index 相关的代码
});
// doubled = undefined
map
- 遍历数组中的元素
- 通过对每个元素调用函数,将每个元素“映射(map)”到一个新元素,从而创建一个新数组。
js
const a = [1, 2, 3];
const doubled = a.map((num) => {
return num * 2;
});
// doubled = [2, 4, 6]
.forEach
和.map()
的主要区别在于.map()
返回一个新的数组。如果你想得到一个结果,但不想改变原始数组,用.map()
。如果你只需要在数组上做迭代修改,用forEach
。