1.forEach()
forEach主要功能是遍历数组。第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组本身。
[].forEach(function(value,index,array){});
2.$.each()
等价于jquery中$.each():在遍历DOM时(如数组),通常用$(selector).each(function(index,element))函数; 在遍历数据时(如JSON 对象),通常用$.each(dataresource,function(index,element))函数。
$.each([],function(index,value,array){})
注意,forEach()与$.each()的第1个和第2个参数正好是相反的!!!
3.map()
map即是“映射”的意思,原数组被“映射”成对应新数组。
[].map(function(value,index,array){})
下面这个例子是对数组的每一项求平方值
var data=[1,2,3]
var Squares=data.map(function(val,index,arr){
// true
console.log(arr[index]==val);
return val*val
})
// [1, 4, 6]
console.log(Squares);
注意:由于forEach、map都是ECMA5新增数组的方法,所以ie9以下的浏览器还不支持
4.区别:
map的回调函数中支持return返回值,相当于把数组中的这一项变成想要的样子。(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了)
forEach这个方法执行是没有返回值的,主要用来遍历数组中的每一项,对原来数组也没有影响。