记录一下我在面试中遇到的关于数组方法foreach与map的区别,如果哪儿不对,还望指点!
我想从以下几点来谈谈他们的区别:
1、定义:
1、foreach的定义很明显,就是给数组中每一个元素执行一次你写的回调函数。
2、map的定义呢,说的也很简单,但是怕有些同学会被绕晕,解释一下就是:map会创建一个新的数组,这个数组中的每个元素呢,都是先前数组中每个元素通过你写的函数,调用后返回的值。
2、语法:
可见,他俩的语法几乎完全相同,括号里面放的都是操作数组元素的回调函数。
3、区别:
通过相关文档查询发现:
1、
forEach的返回值是undefined, map的返回值是一个新数组,每个元素都是回调函数的返回值
。2、forEach和map被调用时都不会改变原数组。