數組的 reduce 和 filter 與 map 的組合

Array.filter(fn)和Array.map(fn):用於過濾數組後再重新創造一個新的數組,缺點是過濾的時候需要把數組過濾一遍,用map創造一個新的數組的時候還需要把過濾過的數組再重新走一遍,效率較低。

  Array.reduce(fn):一個函數就完成了上面兩個函數所要完成的步驟,且再過濾的過程中就可以把過濾到的數組元素拼接到新的數組中。

  如下圖:

  

 

 

注:兩者都返回一個布爾值,表示某項是否存在於數組之中,一旦找到對應的項,立即停止遍歷數組。不同的是 Array.some 的參數是回調函數,而 Array.includes 的參數是一個值(均不考慮第二個可選參數)。

發佈了61 篇原創文章 · 獲贊 11 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章