js中foreach与map的区别

定义:

  foreach()方法:

    主要是针对每一个元素执行提供的函数。他不仅可以遍历,每一次遍历都会对每一个元素进行一次处理;

  map()方法:

    与foreach()类似,map()方法返回一个新的数组,数组中的元素为原数组中每个元素调用函数处理后的值。

区别:

  我认为他们最大的区别就是foreach()是在原数组上进行处理的,会改变原数组,而map()会得到一个新的数组并返回。

例子:

  制作一个数组的平方 让其中的每个元素都与自身相乘

 forEach()执行结果如下:

  

  map()执行结果如下:

  

使用场景:

  forEach()更适用于你并不打算改变数据的时候,而只是想用数据做一些事情 – 比如存入数据库或则打印出来;

  map()适用于你要改变数据值的时候。不仅仅在于它更快,而且还返回一个新的数组。

总结:

  forEach()可以做到的东西,map()也同样可以,反过来也是如此。

  forEach()允许callback更改原始数组的元素。map()返回新的数组。

posted @ 2021-07-26 16:44  南故呀  阅读(665)  评论(0)    收藏  举报