1. 程式人生 > >JavaScript使用陣列

JavaScript使用陣列

1.Array.includes和Array.indexOf

   Array.includes(value):返回一個布林值,value是否在陣列中

   Array.indexOf(value):如果value在陣列中,則返回value在陣列中的下標;否則返回-1

   當只想確定一下value是否在陣列中時,可使用Array.includes()來替代Array.indexOf();

   如下圖:

   

2.Array.find 和Array.filter

   以上兩個方法都是通過回撥函式進行資料的返回

   Array.filter(fn):在經過回撥函式後,返回的是過濾後的僅有符合過濾條件的的陣列

   Array.find(fn):在經過呼叫函式後,一旦遇到滿足條件的元素就會返回該元素並不再往下走

   如下圖:

   

3.Array.find 和Array.some

Array.some(fn):當要知道陣列中是否存在一個元素時用到,返回一個boolean值,也是和Array.find(fn)最大的區別

  

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

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

  如下圖:

  

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