少年幃禿的煩惱


心情也微微的...凸

最近的學習心得 都改放到 少年幃禿的煩惱@Google Sites

2008/07/30

JavaScript:Array:splice

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