slice()与splice()
slice()
1.相关概念
slice()
能够基于当前数组中的一或多个项创建一个新数组slice()
可以接收一或两个参数,即要返回项的起始和结束位置在只有一个参数的情况下,slice()
方法返回从该参数指定位置开始到当前数组末尾的所有项 如果有两个参数,该方法返回起始和结束位置之间的项(但不包括结束位置) slice()
方法不会影响原始数组如果结束位置小于起始位置,则返回空数组
2.示例
var colors=["red","green","blue","yellow","purple"];
var colors2=colors.slice(1);
var colors3=colors.slice(1,4);
alert(colors2);//green,blue,yellow,purple
alert(colors3);//green,blue,yellow
//如果slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。此例中,slice(-2,-1)与调用slice(3,4)得到的结果相同
splice()
1.相关概念
splice()
的主要用途是向数组的中部插入项删除:可以删除任意数量的项,指定两个参数(要删除的第一项位置和要删除的项数) 插入:可以向指定位置插入任意数量的项,指定3个参数(起始位置、0(要删除的项数)和要插入的项数) 替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,指定3个参数(起始位置、要删除的项数和要插入的任意数量的项)。插入的项数不必与删除的项数相等 splice()
方法返回一个数组,该数组包含从原始数组中删除的项splice()
影响原数组
2.示例
//删除
var colors=["red","green","blue"];
var removed=colors.splice(0,1);//
alert(colors);//green,blue
alert(removed);//red
//插入
removed=colors.splice(1,0,"yellow","orange");
alert(colors);//green,yellow,orange,blue
alert(removed);//返回的是一个空数组
//替换
removed=colors.solice(1,1,"red","purple");
alert(colors);//green,red,purple,orange,blue
alert(removed);//yellow