陣列的方法-新增刪除

Lagina發表於2018-11-15

陣列的刪除和新增操作


單位置操作

  • 刪除操作(返回值都是被刪除的元素,無傳入引數)
    • 從尾部刪除(最後一個元素): pop()
    • 從頭部刪除(第一個元素): shift()
  • 新增操作(返回值是新陣列的長度,引數可以是一個也可以是多個)
    • 從尾部增加(最後一個元素):push()
    • 從頭部增加(第一個元素):unshift()
      • 注意:unshift()方法有瀏覽器差異,在IE上不能正常工作,同時,當進行大陣列操作時,速度很慢,影響效能
      • 解決方案:先將陣列倒置,進行push()操作,再將陣列倒置回來,array.reverse().push(“”).reverse()

不固定位置操作

  • splice():
    • 直接對原陣列進行操作
    • 傳入兩個引數時:
      • 表示刪除操作,第一個是開始刪除的索引值,第二個是指要刪除幾個元素
      • 返回被刪除元素組成的陣列
    • 傳入三個引數或多個引數時:
      • 表示增加/替換元素,第一個是開始刪除的索引值,第二個是指要刪除幾個元素,如果為0,表示不刪除,僅僅是增加元素,如果大於0,則表示替換操作,後面的引數都是要向陣列增加的元素
  • slice():
    • 不影響原陣列,會返回一個新陣列,表示擷取陣列的一部分
    • 傳入兩個引數:
      • 第一個引數是開始擷取的索引值,當為負數時表示從末尾算起的索引值
      • 第二個引數是擷取結束的索引值 + 1
    • slice也是String上的方法,表示的是擷取字串的一部分

相關文章