一、splice语法


arrayObject.splice(start,deleteCount,item1,.....,itemX)

 


1、参数说明


start: 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
 
deleteCount:必需。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
 
item1:可选。规定要添加到数组的新元素。从 index 所指的下标处开始插入。
itemX :可选。可向数组添加若干元素。
 


2、注意


1、参数为负数的问题,如果start为负数,则会加上数组的长度作为start的值,而deleteCount为负数或0的话不会执行删除操作。


2、用splice删除数组中的值会直接将某几项从数组中完全删除,会导致数组length值的改变,这与delete的删除置为undefined是不一样的。


3、splice 方法可以移除从start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新的Array 对象。

 


二、splice实例


1、

var lang = ["php","java","javascript"]; 
//删除 
var removed = lang.splice(1,1); 
alert(lang); //php,javascript 
alert(removed); //java ,返回删除的项 
//插入 
var insert = lang.splice(0,0,"asp"); //从第0个位置开始插入 
alert(insert); //返回空数组 
alert(lang); //asp,php,javascript 
//替换 
var replace = lang.splice(1,1,"c#","ruby"); //删除一项,插入两项 
alert(lang); //asp,c#,ruby 
alert(replace); //php,返回删除的项



2、

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")

//输出:
//George,John,Thomas,James,Adrew,Martin
//George,John,William,Thomas,James,Adrew,Martin



参考资料:js中splice方法    http://www.studyofnet.com/news/937.html