三种遍历的方法(map和forEach的区别)
阅读原文时间:2023年07月08日阅读:1

一. for循环

arr[index]可以改变原数组

二. forEach方法

  1. forEach方法的返回值是一个undefined;

  2. 在循环体内改变item的值不会影响原数组,而是只在循环体内生效;

  3. 而使用索引值操作arr[index]将会改变原数组;

  4. 在循环体内return数值没有产生什么影响。

  5. forEach()允许callback更改原始数组的元素。

三. map方法
  1. map方法的返回值是一个数组,该数组中元素的值来自遍历原数组时每一次的返回值,若循环体内没有return则元素都为undefined;

  2. 在循环体内改变item的值不会影响原数组,而是只在循环体内生效;

  3. 而使用索引值操作arr[index]将会改变原数组;

  4. 在循环体内return的数值将组成新数组并返回给a,对原数组没有影响。


总结:

map和forEach相同之处:

  遍历时改变item不能影响原数组;

  使用索引值操作arr[index]会改变原数组;

不同之处:

  forEach()允许callback更改原始数组的元素。map()返回新的数组


本文用到的截图工具:Snipaste

用到的调试工具:谷歌浏览器f12的sources的snippets

参考:https://blog.fundebug.com/2018/02/05/map_vs_foreach/