map和forEach的区别

总结

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

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

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



作者:如梦初醒Tel
链接:https://www.jianshu.com/p/83aa9a2a4055
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

使用案例

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

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

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

forEach()

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

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

执行结果如下:

 map和forEach的区别

 

 

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

执行结果如下:

 map和forEach的区别

 

 


执行速度对比

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

 map和forEach的区别

 

 

上一篇:forEach、for...of...、for...in... 之间的区别和联系


下一篇:mybatis批量更新,和修改出现的小问题