Array.filter(fn)和Array.map(fn):用於過濾數組後再重新創造一個新的數組,缺點是過濾的時候需要把數組過濾一遍,用map創造一個新的數組的時候還需要把過濾過的數組再重新走一遍,效率較低。
Array.reduce(fn):一個函數就完成了上面兩個函數所要完成的步驟,且再過濾的過程中就可以把過濾到的數組元素拼接到新的數組中。
如下圖:
注:兩者都返回一個布爾值,表示某項是否存在於數組之中,一旦找到對應的項,立即停止遍歷數組。不同的是 Array.some 的參數是回調函數,而 Array.includes 的參數是一個值(均不考慮第二個可選參數)。