map和forEach的区别

总结

forEach()可以做到的东西,map()也同样可以。反过来也是如此。

map()会分配内存空间存储新数组并返回,forEach()不会返回数据。

forEach()允许callback更改原始数组的元素。map()返回新的数组。

使用案例

制作一个数组的平方
有如下一个数组

let arr =[1,2,3,4,5,6]

下面分别用forEach()和Map()

forEach()

注意,forEach是不会返回有意义的值的。
我们在回调函数中直接修改arr的值。 

arr.forEach((value, key) => {
 return arr[key] = value * value;
});

执行结果如下:

 

Map()
let list = arr.map(value => {
 return value * value;
});

执行结果如下:

 


执行速度对比

forEach()的执行速度 < map()的执行速度

 
原文地址:https://www.cnblogs.com/magicg/p/15205947.html