js 数组splice方法

在JavaScript中,数组是一种非常重要的数据结构,它可以用来存储多个元素,并且可以方便地对这些元素进行增删改查操作。其中,splice()方法是数组对象的一个重要方法之一,它可以用来对数组进行删除、插入和替换操作。
语法
splice()方法的语法如下:
array.splice(start, deleteCount, item1, item2, ...)
参数说明:
start:要删除或插入的起始位置,即从数组的哪个索引位置开始进行操作。deleteCount:要删除的元素个数,如果为0,则表示不删除任何元素。item1, item2, ...:要插入到数组中的元素。
删除元素
如果只传入start和deleteCount两个参数,则splice()方法会从start位置开始删除deleteCount个元素,并返回被删除的元素组成的数组。
示例代码:
let arr = [1, 2, 3, 4, 5];
let removed = arr.splice(1, 2);
console.log(removed); // [2, 3]
console.log(arr); // [1, 4, 5]
在这个示例中,我们从索引为1的位置开始,删除了2个元素,并将被删除的元素组成的数组返回给removed变量。最终数组arr中只剩下了1、4、5这三个元素。
插入元素
如果传入了start、deleteCount以及要插入的元素,则splice()方法会从start位置开始删除deleteCount个元素,并在该位置插入新的元素。
示例代码:
let arr = [1, 2, 3, 4, 5];
arr.splice(2, 0, 6, 7);
console.log(arr); // [1, 2, 6, 7, 3, 4, 5]
在这个示例中,我们从索引为2的位置开始,删除0个元素,并插入了6、7这两个新元素。最终数组arr中包含了这两个新元素,且其他元素依次向后移动。
替换元素
如果传入了start、deleteCount以及要插入的元素,则splice()方法会从start位置开始删除deleteCount个元素,并在该位置插入新的元素。
示例代码:
let arr = [1, 2, 3, 4, 5];
arr.splice(2, 2, 6, 7);
console.log(arr); // [1, 2, 6, 7, 5]
在这个示例中,我们从索引为2的位置开始,删除了2个元素,并插入了6、7这两个新元素。最终数组arr中的3、4这两个元素被替换为了6、7。
注意事项
- 当只传入
start参数时,splice()方法会删除该位置及其后面的所有元素。 - 当
deleteCount参数为负数时,表示不删除任何元素。此时,item1, item2, ...参数将会被插入到start位置之前。 - 如果
start的值大于数组的长度,则会从末尾开始操作。 - splice()方法会改变原数组,如果不希望改变原数组,可以使用slice()方法进行复制。
总的来说,splice()方法是一个非常灵活方便的数组操作方法,它可以实现删除、插入和替换数组元素的多种操作,是JavaScript数组处理中的重要工具之一。
极客笔记