forEach 和map 都是用来遍历数组,二者的区别为:
forEach() 会修改原来的数组,而map() 方法会得到一个新的数组并返回,不会修改原来的数组
二者的执行速度方面,经过jsPerf(一个很好的表不同函数的执行速度的网站:https://jsperf.com/),map()方法比forEach()方法快了70%,当然不同的浏览器的执行结果也可能会不一样
总结:
1.能用forEach()做到的,map()同样也可以,反过来也是如此
2.map()会分配内存空间存储新数组并返回,forEach()不会返回数据
3.forEach()允许callback更改原始数组的元素,map()返回新的数组