js中map遍历数组
forEach()和map()都是遍历数组的⽅法,⽤法类似,但是还是有很⼤区别:
相同点:
      1.都是循环遍历数组中的每⼀项;
      2.在遍历中执⾏匿名函数都可以接收三个参数,分别为:遍历过程的每⼀项、遍历序号(索引值)、原数组;
      3.执⾏的匿名函数中 的this都指向window。
  不同点:
      map():
js数组方法总结
      根据遍历执⾏的匿名函数,对于原数组中的每个值产⽣⼀个对应的值,并返回⼀个新的数组,存在⼀个映射关系,并且不会改变原数组,不会对空数组进⾏检测。
var arr = [0,1,2,3,4];
var str = arr.map(function(i,index,arr){
console.log(this);
return ++i;
},this);
console.log(str);  //结果为 [1,2,3,4,5]
forEach():只是按照顺序把数组中的元素传递给forEach中的匿名函数使⽤,对于空数组则不会调⽤到匿名函数。
var arr = [0,1,2,3,4];
var sum = 0;
var str = arr.forEach(function(i,index,arr){
sum += i;
console.log("sum的值为:",sum);
})  //执⾏5次,最终结果 10
**
js中 map 遍历数组
**
map ⽅法会迭代数组中的每⼀个元素,并根据回调函数来处理每⼀个元素,最后返回⼀个新数组。注意,这个⽅法不会改变原始数组。
在我们的例⼦中,回调函数只有⼀个参数,即数组中元素的值 (val 参数) ,但其实,你的回调函数也可以⽀持多个参数,譬如:元素的索引index、原始数组arr。
例⼦:使⽤ map ⽅法来为 oldArray 中的每⼀项增加3,并且在 newArray 中保存它们。 oldArray 不应该被改变。
var oldArray = [1,2,3,4,5];
var newArray = oldArray.map(function(w){
return w+3;
});
输出结果为:[4,5,6,7,8]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。