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]