js中foreach与map的区别
定义:
foreach()方法:
主要是针对每一个元素执行提供的函数。他不仅可以遍历,每一次遍历都会对每一个元素进行一次处理;
map()方法:
与foreach()类似,map()方法返回一个新的数组,数组中的元素为原数组中每个元素调用函数处理后的值。
区别:
我认为他们最大的区别就是foreach()是在原数组上进行处理的,会改变原数组,而map()会得到一个新的数组并返回。
例子:
制作一个数组的平方 让其中的每个元素都与自身相乘
forEach()执行结果如下:

map()执行结果如下:

使用场景:
forEach()更适用于你并不打算改变数据的时候,而只是想用数据做一些事情 – 比如存入数据库或则打印出来;
map()适用于你要改变数据值的时候。不仅仅在于它更快,而且还返回一个新的数组。
总结:
forEach()可以做到的东西,map()也同样可以,反过来也是如此。
forEach()允许callback更改原始数组的元素。map()返回新的数组。
浙公网安备 33010602011771号