1.forEach是ES5中遍历数组中的一个重要的方法:
forEach()语法:
arr.forEach(function(value,index,arr){})
注意:
forEach()中的回调函数支持三个参数,第1个是value;第2个是index,第3个是数组本身
例如:
var arr =[1,2,3,4,5,6];
arr.forEach(function(value,index,arr){
console.log(value,index,arr);
})
//1 0 [1, 2, 3, 4, 5, 6]
//2 1 [1, 2, 3, 4, 5, 6]
//3 2 [1, 2, 3, 4, 5, 6]
//4 3 [1, 2, 3, 4, 5, 6]
//5 4 [1, 2, 3, 4, 5, 6]
//6 5 [1, 2, 3, 4, 5, 6]
2.对比jQuery中的$.each方法:
$("img").each(function(index,value,arr){
this.src = "test" + i + ".jpg";
});
注意:
对比forEach()中的回调函数,会发现,第1个和第2个参数正好是相反的,大家要注意了,不要记错了。后面类似的方法,例如$.map也是如此。
3.这里的map不是“地图”的意思,而是指“映射”。[].map(); 基本用法跟forEach方法类似:
var arr =[1,2,3,4,5,6];
arr.map(function(value,index,arr){
console.log(value,index,arr);
})
//1 0 [1, 2, 3, 4, 5, 6]
//2 1 [1, 2, 3, 4, 5, 6]
//3 2 [1, 2, 3, 4, 5, 6]
//4 3 [1, 2, 3, 4, 5, 6]
//5 4 [1, 2, 3, 4, 5, 6]
//6 5 [1, 2, 3, 4, 5, 6]