最大的區別:
foreach不會反悔新的陣列,而是在原陣列的基礎上改變陣列,可以用於陣列的修改
ag:var arr = new array();
arr = [1,2,3,4,5,6];
arr.foreach((item,index,a)=>{
console.log(item,index,a) //子元素,索引,原陣列
arr[index] = item + 1
console.log(arr) //arr是乙個新的陣列
// map不改變原陣列,會將處理過的資料組成乙個新的陣列
var arr = new array(),arrnew = new array();
arr = [1,2,3,4,5,6];
arrnew = arr.map((item,index,a)=>{
// console.log(item,index,a) //子元素,索引,原陣列
return item * item
console.log(arr);//[1, 2, 3, 4, 5, 6]
console.log(arrnew);//[1, 4, 9, 16, 25, 36]
//filter不會改變原陣列,但是也會將滿足條件的元素組成印個新的陣列,return出來
var arr = new array(),arrnew = new array();
arr = [1,2,3,4,5,6];
arrnew = arr.filter((item,index,a)=>{
// console.log(item,index,a) //子元素,索引,原陣列
return item > 3
console.log(arr);//[1, 2, 3, 4, 5, 6]
console.log(arrnew);//[4, 5, 6]
//map和filter的區別主要在於,當過濾而不是改變的時候,map return的是乙個盛放布林值的陣列
// every不是過濾也不是進行處理,也不會生成新的陣列,他是對陣列中的每乙個元素進行判斷
// 每乙個元素都滿足要求就返回true,只要有乙個不滿足就返回false
var arr = new array();
arr = [1,2,3,4,5,6];
var arrnew = arr.every((item,index,a)=>{
return item > 3
console.log(arr);//[1, 2, 3, 4, 5, 6]
console.log(arrnew); //false
// some和every一樣不是過濾也不是進行處理,也不會生成新的陣列,他是對陣列中的每乙個元素進行判斷
// 但是只要有乙個元素滿足要求就返回true,都不滿足就返回false
var arr = new array();
arr = [1,2,3,4,5,6];
var arrnew = arr.some((item,index,a)=>{
return item > 5
console.log(arr);//[1, 2, 3, 4, 5, 6]
console.log(arrnew); //true
map 和forEach 的區別
對陣列進行迴圈,相當於直接for迴圈,沒有返回值,不能對它進行加工,只是單純的迴圈顯示return無效 item值,index索引,arr該陣列 一般沒用 arr.foreach item,index,arr 對陣列的每一項進行加工,加工完成之後返回乙個新的陣列 注意 map 不會對空陣列進行檢測。...
map和forEach的區別
map 返回其原始陣列的新陣列,但是 foreach 卻沒有。但是它們都確保了原始物件的不變性。1,2,3 map d d 1 2,3,4 1 2,3 foreach d d 1 undefined 如果更改陣列內的值,foreach 不能確保陣列的不變性。這個方法只有在你不接觸裡面的任何值時,才能...
forEach和map的區別
foreach var arr 0 2,4 6,8 var newarr arr.foreach function item,index,arr console.log arr 0,2,4,6,8 arr index item 2 1.對資料的操作會改變原陣列 console.log arr 0,1...