javascript中slice()和splice()的使用

slice(start,end):从已有的数组中返回选定的元素。括号内有两个参数,第一个参数为start,第二个参数为end。

 start参数是必须的,规定从何处开始选取。如果是负数,那么规定它从数组尾部开始算起的位置,也就是说,

-1表示从最后一个元素开始选取,-2表示从倒数第二个元素开始选取。

end参数是可选的,规定从何处结束选取。该参数一样可以为负数。

一个数组对象经过slice(start,end)操作后,会返回一个新的数组,返回从start(包含)到end(不包含)

之间的所有元素内容。注意:对原数组对象不产生任何影响。

示例:

var array2=["d","e","f"];

document.write(array2.slice(1,2)+"
");//e document.write(array2.slice(1,3)+"
");//e,f document.write(array2.slice(0,2)+"
");//d,e

splice(index,howmany,item1,item2..itemX):从数组中添加/删除项目,然后返回被删除的项目,括号内有3个参数部分。

会改变原始数组(操作的数组对象)。

index参数,是必须的。规定添加/删除项目的位置,使用负数则从尾部规定位置。

howmany参数,也是必须的。规定要删除项目的数量,为0则不删除。

item1,item2,itm3,...itemX参数,是可选的。向数组中添加新项目(替换部分)。

示例:

var array3=["xx","ss","dd","mm","pp"];
document.write("splice()方法的使用:"+"
"); //从数组索引位置为1处开始删除,删除1个元素,并返回删除的该元素,输出“ss” document.write(array3.splice(1,1)+"
"); //经上一步操作后,被操作数组对象的长度会发生变化(减1),输出4 document.write(array3.length+"
"); //此时被操作数组中还有4个元素,为["xx","dd","mm","pp"] //从数组索引位置为0处开始删除,删除2个元素,并返回删除的元素部分,输出“xx,dd” document.write(array3.splice(0,2)+"
"); //此时被操作数组中还有2个元素,为["mm","pp"] //从数组索引位置为1处开始删除,删除2个元素,并返回该删除的元素部分,输出“pp” //注意:可以删除2个元素,但删除1个元素后已经到达数组的末尾,不再进行删除。这里第二个参数在效果上其实等同于指定为1。 document.write(array3.splice(1,2)+"
"); var array4=["x","s","w","a","d"]; //从数组索引位置为1处开始删除,删除2个元素,返回该删除的元素部分,输出“s,w”, // 并将替换部分(第三个参数部分)代入到被删除的部分,即数组中["s","w"]的部分变成了["hhh","bbb"] document.write(array4.splice(1,2,"hhh","bbb")+"
");//第三个参数部分为(item1,item2,...,itemX) //所以此处数组长度依然是5 document.write(array4.length+"
"); //输出内容为“x,hhh,bbb,a,d” document.write(array4);

你可能感兴趣的:(javascript中slice()和splice()的使用)