总结
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()
let list = arr.map(value => { return value * value; });
执行结果如下:
执行速度对比
forEach()的执行速度 < map()的执行速度