forEach和map和filter的區別總結

2021-09-13 03:46:07 字數 1617 閱讀 5746

最大的區別:

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...