forEach 仅遍历数组,对该数组没做任何的改变,且返回undefined。
var array1 = [1,2,3,4,5];
var x = array1.forEach(function(value,index){
++value; //return ++value;还是一样的效果
});
console.log(x); //undefined
console.log(array1); //[1,2,3,4,5]
map 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。不改变原数组,返回一个新数组。返回值是一个新的数组;
var array1 = [1,2,3,4,5];
var y = array1.map(function(value,index){
return ++value;
});
console.log(y); //[2,3,4,5,6]
console.log(array1) //[1,2,3,4,5]
如果想在forEach下改变遍历的数组也是可以的。
var array1 = [1,2,3,4,5];
array1.forEach((value,index,arr)=>(
arr[index] ++
));
console.log(array1) //[2,3,4,5,6]