面试笔记:问数组遍历map和foreach的区别以及使用场景

94 阅读1分钟

一.不同点

1.应用场景不同

forEach是仅对数组进行遍历,在其中可以根据自己的需求进行一些数据处理;

map是在遍历数组之后直接根据return值返回一个原数组处理完之后的等长数组

所以forEach能做的map也能做,但是map多一个根据return进行处理之后的新数组。

2.有无返回值

forEach返回值为undefined

map会返回一个处理之后的新数组

3.可否链式方法

显然forEach没有返回值是没办法直接链式处理的;

而map返回值为数组,则可以接着在末尾添加新的数组方法

4.性能方面

同样进行同一个数组处理,

使用新建一个数组再通过forEach结合push来实现

相比map直接返回新数组花费的时间更久

所以在转化数组时更多的使用map。

二.相同点

1.均能遍历数组

2.均不能中断循环

在需要中断循环时可以直接使用for