三种遍历的方法(map和forEach的区别)
一. for循环
arr[index]可以改变原数组
二. forEach方法
- 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/