forEach和map的区别

117 阅读1分钟

相同点

  • 都是循环遍历数组中的每一项。
  • 每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)。
  • 匿名函数中的this都是指向window。
  • 只能遍历数组。

区别

  • map() 不会改变原始数组,并且会返回一个新的数组
  • forEach() 会改变原始数组,返回值为undefined

总结

forEach是在循环中对元素进行操作 map是对每个元素应用函数并返回处理过的新数组。

因此,如果只是为了迭代并对集合或数组进行操作,可以使用forEach方法。如果需要遍历集合或数组中的元素,并生成一个新的数组,则可以使用map