我们来康康-->数组中forEach和map的区别?

222 阅读1分钟

1.map()和forEach()的区别和理解

forEach(): 没有返回值,本质上等同于 for 循环,对每一项执行 function 函数。 即map是返回一个新数组,原数组不变,forEach 是改变原数组。

2.forEach方法特点:

(1)回调函数执行次数 == 数组长度

(2)回调函数内部的return --> 没有返回值

(3)forEach方法的返回值-->没有返回值

举例:

image.png

3.map():具有返回值,循环数组映射出一个新数组

(1).数组map方法作用: 映射数组

说人话:按照某种映射关系, 把数组的每一个元素给修改了

举例:全场8折: 数组的每一个元素 * 0.8

(2) map方法特点:

.1 回调函数执行次数 == 数组长度

.2 回调函数内部的return

* return 新数组的元素

* 如果没有return, 则map的返回值都是undefined

(3)map方法的返回值 --> * 返回映射之后的新数组

image.png

区别

>所以说! forEach()方法不会返回执行结果,而是undefined。也就是说,forEach()会修改原来的数组。而map()方法会得到一个新的数组并返回。