JavaScript 使用splice()方法添加和删除数组元素

Array 对象的splice()方法提供一种在数组任意位置添加、删除数组元素的方法。

语法如下:MyArray.splice(start,delete,arg3,…,argN);参数说明如下:

当参数 delete 为0 时,不执行任何删除操作;

当参数 delete 非0 时,在调用此方法的数组中删除下标从start 到shart+delete 的数组元素,其后的数组元素的下标均减小delete;

如果在参数 delete 之后还有参数,在执行删除操作之后,这些参数将作为新元素添加到数组中由start 指定的开始位置,原数组该位置之后的元素往后顺移。

考察如下的代码:[code]<! DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0//EN”
http://www.w3.org/TR/REC-html140/strict.dtd”>

Sample Page!
[/code]程序运行结果如图所示。

其中核心语句:MyArray.splice(1,0); MyArray.splice(1,1); MyArray.splice(1,1,"New1","New2");第一句中参数delete 为0,不执行任何操作,MyArray 数组保持不变:MyArray=["First","Second","Third","Forth"];第二句参数delete 不为0(=1),执行删除下标为start(=1)到start+delete(=2)之间的数组元素,即MyString[1]=Second,其后的数组元素往前挪动delete(=1)位,此时MyArray 数组变为:MyArray=["First","Third","Forth"];第三句在继续执行一次第二句的删除操作(删除MyString[1]=Third)基础上,将以参数传入的“New1”和“New2”元素作为数组元素插入到start(=1)指定的位置,原位置上的数组元素顺移,相当于执行两个步骤:MyArray=["First","Forth"]; MyArray=["First","New1","New2","Forth"];注意:Array 对象的splice()方法在Navigator 4 中存在一个缺陷,当删除数组中指定的元素时,返回的不是删除了指定元素的数组而是该指定的元素,同时,如果数组中没有元素被删除,返回的不是空数组而是null。