forEach是ES5中操作数组的一种方法,主要功能是遍历数组,forEach方法对数组的每个元素执行一次提供的函数。map用法与forEach相似,map方法的即是“映射”,原数组被“映射”成对应新数组。
1.forEach方法中的function回调有三个参数
第一个参数是遍历的数组内容,
第二个参数是对应的数组索引,
第三个参数是数组本身。方法执行是没有返回值的,对原来数组也没有影响。
即:
[].forEach(function(value,index,array){
//code something
2.forEach例子
var arr = [1,2,3,4];
arr.forEach(function(value,index,array){
array[index] == value; //结果为true
sum+=value;
});
console.log(sum); //结果为 10
3.map方法
map的回调函数中支持return返回值,并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变。
4.map例子
var arr = [1,2,3,4];
var newarr=arr.map(function(val,index,arr){
console.log(arr[index]==val); // ==> 结果为true
return val*val;
})
console.log(newarr); // ==> 结果为[1, 4,9, 16]