陣列的方法-新增刪除
Lagina發表於2018-11-15
陣列的刪除和新增操作
單位置操作
- 刪除操作(返回值都是被刪除的元素,無傳入引數)
- 從尾部刪除(最後一個元素): pop()
- 從頭部刪除(第一個元素): shift()
- 新增操作(返回值是新陣列的長度,引數可以是一個也可以是多個)
- 從尾部增加(最後一個元素):push()
- 從頭部增加(第一個元素):unshift()
- 注意:unshift()方法有瀏覽器差異,在IE上不能正常工作,同時,當進行大陣列操作時,速度很慢,影響效能
- 解決方案:先將陣列倒置,進行push()操作,再將陣列倒置回來,array.reverse().push(“”).reverse()
不固定位置操作
- splice():
- 直接對原陣列進行操作
- 傳入兩個引數時:
- 表示刪除操作,第一個是開始刪除的索引值,第二個是指要刪除幾個元素
- 返回被刪除元素組成的陣列
- 傳入三個引數或多個引數時:
- 表示增加/替換元素,第一個是開始刪除的索引值,第二個是指要刪除幾個元素,如果為0,表示不刪除,僅僅是增加元素,如果大於0,則表示替換操作,後面的引數都是要向陣列增加的元素
- slice():
- 不影響原陣列,會返回一個新陣列,表示擷取陣列的一部分
- 傳入兩個引數:
- 第一個引數是開始擷取的索引值,當為負數時表示從末尾算起的索引值
- 第二個引數是擷取結束的索引值 + 1
- slice也是String上的方法,表示的是擷取字串的一部分