js中数组的forEach和map方法的使用以及区别

var arr=[1,2,3,5,6,7,8,9];
arr.forEach(function(item,index,arr){}

forEach括号内的函数会跟三个参数,参数名称可以自行取

第一个参数:数组中的元素

第二个参数:数组中的元素所对应的下标

第三个参数:数组自身

我们可以通过该方法来遍历数组,例如求数组的所有元素的和

var sum=0;
for(var i=0;i<arr.length;i++){
     sum+=arr[i];
}
console.log(sum);

而且当数组内又空元素的时候,通过遍历数组的元素,forEach是不会遍历空元素的

 

map方法和forEach在语法上没有任何区别,可以理解为map就是forEach的加强版,他们之间最大的区别在于,map在遍历

数组之后会返回一个与原数组长度相等的新数组

var arr2=arr.map(function(item,index,arr){
     // 在map中使用return 就是在对应的下标中添加对应的数据
     return item+10;
});
console.log(arr2);

这样他会返回一个计算数值分别对应下标中添加对应的数据,如果在forEach添加return的话则会无效。

posted @ 2020-03-28 23:06  guoyubao  阅读(1041)  评论(0编辑  收藏  举报