splice()
作用:通過删除或替換現有元素或者原地添加新的元素來修改數組,并以數組形式傳回被修改的内容。此方法會改變原數組。
描述:如果添加進數組的元素個數不等于被删除的元素個數,數組的長度會發生相應的改變。
注:該方法會改變數組的内容和長度。
文法
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
概括:array.splice(a,b,c);一共有3個參數。
第1個參數表示開始修改的元素索引位置。
第2個參數表示要移除的個數。
第3個參數表示要添加進數組的元素,從第一個參數的索引位置開始添加。
-
參數
start
指定修改的開始位置(從0計數)。如果超出了數組的長度,則從數組末尾開始添加内容;如果是負值,則表示從數組末位開始的第幾位(從-1計數,這意味着-n是倒數第n個元素并且等價于array.length-n);如果負數的絕對值大于數組的長度,則表示開始位置為第0位。
deleteCount 可選
整數,表示要移除的數組元素的個數。
如果 deleteCount 大于 start 之後的元素的總數,則從 start 後面的元素都将被删除(含第 start 位)。
如果 deleteCount 被省略了,或者它的值大于等于array.length - start(也就是說,如果它大于或者等于start之後的所有元素的數量),那麼start之後數組的所有元素都會被删除。
如果 deleteCount 是 0 或者負數,則不移除元素。這種情況下,至少應添加一個新元素。
item1, item2, … 可選
要添加進數組的元素,從start 位置開始。如果不指定,則 splice() 将隻删除數組元素。
-
傳回值
由被删除的元素組成的一個數組。如果隻删除了一個元素,則傳回隻包含一個元素的數組。如果沒有删除元素,則傳回空數組。
執行個體
var myFish=['angel','clown','mandarin','sturgeon'];
myFish.splice(1,2,'aaa');
console.log(myFish);// ["angel", "aaa", "sturgeon"]
上述例子中,myFish數組,從索引為1即myFish[1]開始删除,然後删除2個元素,然後從myFish[1]開始新增元素’aaa’。