一.不同点
1.应用场景不同
forEach是仅对数组进行遍历,在其中可以根据自己的需求进行一些数据处理;
map是在遍历数组之后直接根据return值返回一个原数组处理完之后的等长数组;
所以forEach能做的map也能做,但是map多一个根据return进行处理之后的新数组。
2.有无返回值
forEach返回值为undefined;
map会返回一个处理之后的新数组;
3.可否链式方法
显然forEach没有返回值是没办法直接链式处理的;
而map返回值为数组,则可以接着在末尾添加新的数组方法
4.性能方面
同样进行同一个数组处理,
使用新建一个数组再通过forEach结合push来实现
相比map直接返回新数组花费的时间更久
所以在转化数组时更多的使用map。
二.相同点
1.均能遍历数组
2.均不能中断循环
在需要中断循环时可以直接使用for