Core JavaScript 1.5 Reference:Global Objects:Array:splice
用途:
改變陣列的內容, 可以在移除舊元素的同時, 加進新的元素.
語法:
array.splice(index, howMany, [element1][, ..., elementN]);
參數:
- index
陣列中哪個位置開始改變的索引值.
- howMany
一個整數, 用來指出要移除多少個元素. 如果 howMany 等於 0, 則沒有任何元素被移除.
- element1, ..., elementN
要加入陣列的元素. 如果沒有指定任何新元素, 則 splice
的作用就是單純的將陣列中的元素移除掉.
說明:
如果移除跟新增的元素個數不同時, 呼叫完此方法後, 陣列的長度會改變.
splice
方法會回傳一個陣列, 裡面包含了被移除的元素. 就算只有一個元素被移除, 回傳的就是包含一個元素的陣列.
範例:
var myArray = ['001', '002', '003', '004'];
alert('myArray: ' + myArray); // myArray: 001,002,003,004
var removed = myArray.splice(2, 0, 'aaa');
alert('第一次加入後: ' + myArray); // 第一次加入後: 001,002,aaa,003,004
alert('移除的: ' + removed); // 移除的:
removed = myArray.splice(3, 1);
alert('第二次移除後: ' + myArray); // 第二次移除後: 001,002,aaa,004
alert('移除的: ' + removed); // 移除的: 003
removed = myArray.splice(2, 1, "bbb");
alert('第三次取代後: ' + myArray); // 第三次取代後: 001,002,bbb,004
alert('移除的: ' + removed); // 移除的: aaa
removed = myArray.splice(0, 2, "ccc", "ddd", "eee");
alert('第四次取代後: ' + myArray); // 第四次取代後: ccc,ddd,eee,bbb,004
alert('移除的: ' + removed); // 移除的: 001,002