通过阅读文档和与同事交谈,我对forEach和map之间的差异有了一般性的了解。我发现这个post特别有帮助。在帖子中,他们建议你可能想要使用forEach:
当您不尝试更改数据时,forEach()可能更好 在你的数组中,而是想只是用它做一些事情 - 比如 将其保存到数据库或将其注销
其他人可以分享他们故意使用的时间而不是地图吗?
在大多数情况下,地图似乎更可取。
答案 0 :(得分:0)
foreach()和map()执行2个不同的功能。简言之,将
这个类似的问题有一些很好的答案:JavaScript: Difference between .forEach() and .map()
答案 1 :(得分:0)
如果要创建包含原始数组元素上某些操作结果的 new 数组,请使用map()
。例如:
let nums = [1, 2, 3, 4];
let squares = nums.map(n => n * n);
如果要循环遍历数组,则使用forEach()
,但不创建包含结果的新数组。这可能是因为您只想使用数组元素执行其他操作:
nums.forEach(n => console.log(n));
或者您想要有条件地填充数组:
let evenSquares = [];
nums.forEach(n => {
if (n % 2 == 0) {
evenSquares.push(n * n);
}
});
或者您想修改数组中的内容但不需要返回任何新内容:
let objects = [{a: 1}, {a, 2}, {a: 3}];
objects.forEach(obj => obj.a++);