1. 程式人生 > >JS內建方法(Array)

JS內建方法(Array)

concat() 

  • 用於連線兩個或多個數組,該方法不會改變現有的陣列,而是返回被連線陣列的一個副本。

join()

  • 把陣列中的所有元素放入一個字串,元素是通過指定的分隔符進行分隔的。
  • 若省略了分隔符引數,則使用逗號作為分隔符。

push()

  • 向陣列的末尾新增一個或多個元素,並返回新的陣列長度。

pop()

  • 用於刪除陣列的最後一個元素,把陣列長度減1,並返回被刪除元素。
  • 如果陣列已經為空,則 pop() 不改變陣列,並返回 undefined。

shift()

  • 用於把陣列的第一個元素從其中刪除,並返回被移除的這個元素。
  • 如果陣列是空的,那麼 shift() 方法將不進行任何操作,返回 undefined。
  • 該方法是直接修改原陣列。

reverse()

  • 用於顛倒陣列中元素的順序。
  • 該方法會直接修改原陣列,而不會建立新陣列。

 

slice(start [,end])

  • 擷取原陣列從start到end位置(不包含它)元素組成的子陣列。
  • 該方法返回一個新陣列,不會修改原陣列。
  • 若未指定end引數,那麼擷取尾巴直到原陣列最後一個元素(包含它)。

splice(index,howmany [,item1,item2...])

  • 刪除從 index 處開始的hownamy個元素,並且用可選引數列表中宣告的一個或多個值來替換那些被刪除的元素。
  • 該方法返回的是含有被刪除的元素組成的陣列,若無被刪元素,則返回空陣列。
  • 若引數只有index,那麼原陣列將從index開始刪除直至結尾。
  • 該方法直接修改原陣列。

 

map():返回一個新的Array,每個元素為呼叫func的結果

filter():返回一個符合func條件的元素陣列

some():返回一個boolean,判斷是否有元素是否符合func條件

every():返回一個boolean,判斷每個元素是否符合func條件

forEach():沒有返回值,只是針對每個元素呼叫func

reduce():reduce方法有兩個引數,第一個引數是一個callback,用於針對陣列項的操作;第二個引數則是傳入的初始值,這個初始值用於單個數組項的操作。需要注意的是,reduce方法返回值並不是陣列,而是形如初始值的經過疊加處理後的操作。

 

sort()

  • 用於對陣列的元素進行排序。
  • 該排序直接修改原陣列,不生成副本。
  • 該方法接受一個可選引數,若未使用引數,將按字母順序對陣列元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把陣列的元素都轉換成字串(如有必要),以便進行比較。
  • 如果想按照其他標準進行排序,就需要提供比較函式,該函式要比較兩個值,然後返回一個用於說明這兩個值的相對順序的數字。比較函式應該具有兩個引數 a 和 b,其返回值如下:

    • 若 a 小於 b,排序後 a 應該在 b 之前,則返回一個小於 0 的值。
    • 若 a 等於 b,則返回 0。
    • 若 a 大於 b,則返回一個大於 0 的值。