forEach用法与map用法区别

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]

了解更多前端培训相关技术文章欢迎关注小编!

上一篇:javascript中的几种循环


下一篇:Stream API学习