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);