js数组遍历forEach()与map()方法

两者都属于js数组Array的方法,用于遍历数组,高级浏览器支持,区别在于,forEach()方法没有返回值,只是遍历数组,而map方法会返回数组的每一项,但不改变原数组,相当于返回原数组的一个修改过的副本。

1、forEach

forEach用于调用数组的每一个元素,并将元素传递给回调函数,语法:

array.forEach(function(currentValue, index, currentArray){ } , thisValue);

  • currentValue为数组当前item的一个副本,因此改变currentValue不会对原数组产生影响
  • 可以通过currentArray与index改变原数组

2、map

map方法返回一个新数组,数组中每一个元素为原数组元素调用回调函数处理后的结果。语法:

var newArray = array.map(function(currentValue, index, currentArray){}, thisValue);

  • 不会对原数组产生改变
  • 不会对空数组进行检测

其实,map和forEach方法也不能说不改变原数组,当item为引用类型的时候,对item里的数据进行修改还是会改变的




猜你喜欢

转载自blog.csdn.net/ppx2017/article/details/80617683
今日推荐