相同点
- 都是循环遍历数组中的每一项。
- 每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)。
- 匿名函数中的this都是指向window。
- 只能遍历数组。
区别
map()不会改变原始数组,并且会返回一个新的数组forEach()会改变原始数组,返回值为undefined
总结
forEach是在循环中对元素进行操作
map是对每个元素应用函数并返回处理过的新数组。
因此,如果只是为了迭代并对集合或数组进行操作,可以使用forEach方法。如果需要遍历集合或数组中的元素,并生成一个新的数组,则可以使用map。