filter 和 map 的異同

filter()

Filter() 建立一個新數組,新數組中返回的值爲通過檢查指定數組中知足條件的全部元素。數組

⚠️filter 不會改變原數組
⚠️filter 不會對空數組進行檢測函數

語法
array.filter(function(currentValue,index,arr), thisValue)

舉個🌰:this

過濾獲得數組中大於10的值code

[10,20,30,40].filter((item) => item > 10)

結果:it

[20, 30, 40]

map()

map() 方法返回一個新數組,數組中的元素爲原始數組元素調用函數處理後的值。io

⚠️map 不會改變原數組
⚠️map 不會對空數組進行檢測function

語法map

array.map(function(currentValue,index,arr), thisValue)

舉個🌰:
獲取數組的平方根語法

[4, 9, 16, 25].map((item) => Math.sqrt(item))

結果:方法

[2, 3, 4, 5]

總結
  • 相同點:filter 和 map 都是對數組的操做,均返回一個新的數組
  • 不一樣點:filter是知足條件的留下,是對原數組的過濾;map則是對原數組的加工,映射成一一映射的新數組
相關文章
相關標籤/搜索