JavaScript splice() 方法

519 阅读2分钟

定义和用法 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()会修改原数组中的项。