1.forEach()
forEach是ES5中操作数组的一种方法,主要功能是遍历数组。forEach方法中的function回调有三个参数:第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组本身
因此:
[].forEach(function(value,index,array){
//code something
});
2.$.each()
等价于jquery中$.each():
$.each([],function(index,value,array){
//code something
})
注意,forEach()与$.each()的第1个和第2个参数正好是相反的!!!
3.map()
map:map即是 “映射”的意思 用法与 forEach 相似,用法即:
[].map(function(value,index,array){
//code
})
map方法的作用如上所说即映射”,原数组被“映射”成对应新数组。下面这个例子是数值项求平方
var data=[1,3,4]
var Squares=data.map(function(val,index,arr){
console.log(arr[index]==val); // ==> true
return val*val
})
console.log(Squares); // ==> [1, 9, 16]
注意:由于forEach、map都是ECMA5新增数组的方法,所以ie9以下的浏览器还不支持
4.区别:
map的回调函数中支持return返回值;return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);
forEach:用来遍历数组中的每一项;这个方法执行是没有返回值的,对原来数组也没有影响;
文章转载自: https://blog.csdn.net/haoaiqian/article/details/64158170