JavaScript splice()
阿新 • • 發佈:2019-01-25
splice()
方法通過刪除現有元素和/或新增新元素來更改陣列的內容。
var myFish = ["angel", "clown", "mandarin", "sturgeon"];
myFish.splice(2, 0, "drum");
// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
myFish.splice(2, 1);
// myFish is ["angel", "clown", "mandarin", "sturgeon"]
myFish.splice(2, 1, "splice", "parrot" );
// myFish is ["angel", "clown", "splice", "parrot", "sturgeon"]
語法
array.splice(start) array.splice(start, deleteCount) array.splice(start, deleteCount, item1, item2, ...)
引數
start
- 指定修改的開始位置(從0計數)。如果超出了陣列的長度,則從陣列末尾開始新增內容;如果是負值,則表示從陣列末位開始的第幾位。
deleteCount
可選- 整數,表示要移除的陣列元素的個數。如果
deleteCount
是 0,則不移除元素。這種情況下,至少應新增一個新元素。如果deleteCount
大於start
之後的元素的總數,則從start
後面的元素都將被刪除(含第start
位)。 - 如果deleteCount被省略,則其相當於(arr.length - start)。
item1, item2, ...
可選- 要新增進陣列的元素,從
start
位置開始。如果不指定,則splice()
將只刪除陣列元素。
返回值
由被刪除的元素組成的一個數組。如果只刪除了一個元素,則返回只包含一個元素的陣列。如果沒有刪除元素,則返回空陣列。
描述
如果新增進陣列的元素個數不等於被刪除的元素個數,陣列的長度會發生相應的改變。
提示和註釋
註釋:請注意,splice() 方法與 slice() 方法的作用是不同的,splice() 方法會直接對陣列進行修改。
示例
使用 splice()
如下程式碼演示了 splice 的用法:
var myFish = ["angel", "clown", "mandarin", "surgeon"];
//從第 2 位開始刪除 0 個元素,插入 "drum"
var removed = myFish.splice(2, 0, "drum");
//運算後的 myFish:["angel", "clown", "drum", "mandarin", "surgeon"]
//被刪除元素陣列:[],沒有元素被刪除
//從第 3 位開始刪除 1 個元素
removed = myFish.splice(3, 1);
//運算後的myFish:["angel", "clown", "drum", "surgeon"]
//被刪除元素陣列:["mandarin"]
//從第 2 位開始刪除 1 個元素,然後插入 "trumpet"
removed = myFish.splice(2, 1, "trumpet");
//運算後的myFish: ["angel", "clown", "trumpet", "surgeon"]
//被刪除元素陣列:["drum"]
//從第 0 位開始刪除 2 個元素,然後插入 "parrot", "anemone" 和 "blue"
removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
//運算後的myFish:["parrot", "anemone", "blue", "trumpet", "surgeon"]
//被刪除元素的陣列:["angel", "clown"]
//從第 3 位開始刪除 2 個元素
removed = myFish.splice(3, Number.MAX_VALUE);
//運算後的myFish: ["parrot", "anemone", "blue"]
//被刪除元素的陣列:["trumpet", "surgeon"]