接下来的方法估计是数组中最强大的方法了,有很多种用法,
1.删除任意数量的项,只需要传入两个参数即可。要删除的第一项的位置和要删除的项数
环境 先声明一个数组。
var str = [];
str[0] = "red";
str[1] = "yellow";
str[2] = "black";
str[3] = "lime";
str[4] = "pink";
str[5] = "gary";
var con = str.splice(1,1); //删除第二项
console.log(str); //["red", "black", "lime", "pink", "gary"]
console.log(con); //["yellow"]
2.添加:可以向指定位置添加任意的项,只需要提供三个参数即可:起始位置,0(要删除的项数)和要添加的项。如果要添加多项可以继续在后面写参数用逗号分隔。
var con = str.splice(1,0,"orange","blue"); //从位置1开始推入1项
console.log(str); // ["red", "orange", "blue", "black", "lime", "pink", "gary"]
console.log(con); // []
3.替换(删除再添加):可以向指定位置添加任意的项,同时删除任意数量的项。需要指定三个参数:起始位置,删除的项数和要添加的项数,添加的项数不用和删除的项数保持一致。
var con = str.splice(1,2,"blue"); //删除第二项 然后在删除的位置上推入1项
console.log(str); // ["red", "blue", "black", "lime", "pink", "gary"]
console.log(con); // ["orange", "blue"]
4.不接收返回值也是可以的
str.splice(0,3,"red");
console.log(str); // ["red", "lime", "pink", "gary"]
总结:
1.splice()方法始终会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,那么将会返回一个空数组。
2.注意 该方法和slice()是不一样的,splice()会修改原数组中的项。
3.如果参数写的是负数那么把原本的数组输出出来,不做操作。