splice()方法
splice(a,b,c)接收三个参数
a代表执行操作的位置
b代表在操作位置执行删除操作的次数
c代表需要插入操作位置的值,可以是多个,返回值为删除的数组项
根据a,b,c三个参数传入的情况不同可以衍生出三种对数组的操作(删除、插入、替换)。
删除
var nameArr = ["Tom","Lily","Sam","Bill"],
item = nameArr.splice(1,2);
alert(nameArr); //Tom,Bill
alert(item); //Lily,Sam
省略参数c即为对数组的删除操作。但是这里要注意删除这个过程是怎么样进行的,首先找到数组中位置1即"Lily",当执行一次删除操作后原本位于位置2的"Sam"上前补位到位置1,之后执行第二次删除操作。
理解这个过程后理解插入与替换方法变得更加容易。
插入
item = nameArr.splice(1,0,"Kobe","James");
alert(nameArr); //Tom,Kobe,James,Bill
console.log(item); //空数组
令参数b为0,即对位置1不执行删除操作,只插入"Kobe","James"两项。
替换
tem = nameArr.splice(2,2,"Fanfan");
alert(nameArr); //Tom,Kobe,Fanfan
alert(item); //James,Bill
先对位置2进行两次删除操作,移除并返回"James","Bill"两项,然后在位置2添加"Fanfan"。