ForEach
注意,forEach是不会返回有意义的值的。
我们在回调函数中直接修改arr的值。
arr.forEach((num, index) => { return arr[index] = num * 2;});
// arr = [2, 4, 6, 8, 10]
复制代码
Map
let doubled = arr.map(num => { return num * 2;});
// doubled = [2, 4, 6, 8, 10]
复制代码
jsPref是一个非常好的网站用来比较不同的JavaScript函数的执行速度
forEach()的执行速度比map()慢了70%
每个人的浏览器的执行结果会不一样
forEach适合于你并不打算改变数据的时候,而只是想用数据做一些事情 – 比如存入数据库或则打印出来。
map()适用于你要改变数据值的时候。不仅仅在于它更快,而且返回一个新的数组。这样的优点在于你可以使用复合(composition)(map(), filter(), reduce()等组合使用)来玩出更多的花样。