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()的执行速度