typeScript中map和filter使用方法與區別

首先,這兩個方法map()和filter()都是對調用他們的數組進行遍歷。

那麼我們在項目中,什麼情況下使用map(),又在什麼情況下使用filter()呢?在瞭解這個問題之前,我們需要知道的是他們區別在哪兒?
1、map()的使用方法:

arr.map((item,index,array)=>{……})

2、filter()的使用方法:

arr.filter((item,index,array)=>{……})

都是將函數寫在方法的括號裏,參數也一樣,
行參的參數說明:

  • item:當前處理的元素
  • index:當前處理元素的索引
  • array:調用map或者filter方法數組本身

下面我們舉一個例子:

let arr=[3,5,17,15,4,14];

let res1=arr.map((item,index,array)=>{
  // return array[index]; //用這種方法也可以獲取到當前處理的元素
  return item>5;
});
console.log(res1)//[ false, false, true, true, false, true ]

map()方法返回的結果是:[ false, false, true, true, false, true ]

也就是說符合條件或者不符合條件的,都將boolean類型值返回給到新的數組

let arr=[3,5,17,15,4,14];

let res2=arr.filter((item,index,array)=>{
  return item>5;
});

console.log(res2) //[ 17, 15, 14 ]

filter()方法返回的結果是:[ 17, 15, 14 ]

也就是說符合條件就會把值返回到新的數組中

區別:

可以看到,
map() 的結果只是對當前元素調用函數後,將符合條件boolean類型值返回給到新的數組
filter() 會將結果爲true的數組值存到新的數組裏面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章