定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
语法
arrayObject.splice(index,howmany,item1,.....,itemX)
参数 描述 index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 item1, ..., itemX 可选。向数组添加的新项目。
返回值 类型 描述 Array 包含被删除项目的新数组,如果有的话。
说明
1.删除任意数量的项,只需要传入两个参数即可。要删除的第一项的位置和要删除的项数
var str = [];
str[0] = "aaa";
str[1] = "bbb";
str[2] = "ccc";
str[3] = "ddd";
str[4] = "eee";
str[5] = "fff";
var con = str.splice(1,1); //删除第二项
console.log(str); //["aaa", "ccc", "ddd", "eee", "fff"]
console.log(con); //["bbb"]
2.添加:可以向指定位置添加任意的项,只需要提供三个参数即可:起始位置,0(要删除的项数)和要添加的项。如果要添加多项可以继续在后面写参数用逗号分隔。
var con = str.splice(1,0,"vvv","www"); //从位置1开始推入1项
console.log(str); // ["aaa", "vvv", "www", "ccc", "ddd", "eee", "fff"]
console.log(con); // []
3.替换(删除再添加):可以向指定位置添加任意的项,同时删除任意数量的项。 需要指定三个参数:起始位置,删除的项数和要添加的项数,添加的项数不用和删除的项数保持一致。
var con = str.splice(1,2,"www"); //删除第二项 然后在删除的位置上推入1项
console.log(str); // ["aaa", "www", "ccc", "ddd", "eee", "fff"]
console.log(con); // ["vvv", "www"]
总结:
1.splice()方法始终会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,那么将会返回一个空数组。
2.注意 该方法和slice()是不一样的,splice()会修改原数组中的项。