JavaScript splice 方法
最后修改于 2025 年 4 月 4 日
在本文中,我们将展示如何使用 JavaScript 中的 splice
方法修改数组。
数组拼接
splice
方法通过移除或替换现有元素和/或在原位添加新元素来更改数组的内容。与许多数组方法不同,splice
直接修改原始数组。
此方法用途广泛,可用于多种操作:移除元素、添加元素或替换元素。该方法返回一个包含已删除元素的数组,如果未移除任何元素,则返回一个空数组。
splice
方法至少需要两个参数:起始索引和删除计数。其他参数被视为要添加到数组中的元素。负的起始索引从数组的末尾开始计数。
基本的 splice 示例
以下示例演示了 splice
方法用于移除元素的基本用法。
const fruits = ['apple', 'banana', 'cherry', 'date']; const removed = fruits.splice(1, 2); console.log(fruits); // Modified original array console.log(removed); // Array of removed elements
我们从索引 1 开始移除两个元素。原始数组被修改,并返回被移除的元素。第一个参数是起始索引,第二个是删除计数。
$ node main.js [ 'apple', 'date' ] [ 'banana', 'cherry' ]
使用 splice 添加元素
通过将 deleteCount 设置为 0,splice 方法可以在不移除任何元素的情况下添加元素。
const colors = ['red', 'green', 'blue']; colors.splice(1, 0, 'yellow', 'orange'); console.log(colors);
我们在索引 1 处添加两个新元素,而不移除任何元素。第二个参数 (0) 指定我们不想删除任何内容。其他参数将插入到指定位置。
$ node main.js [ 'red', 'yellow', 'orange', 'green', 'blue' ]
使用 splice 替换元素
splice() 方法可以通过指定删除计数和新元素来替换元素。
const numbers = [1, 2, 3, 4, 5]; const removed = numbers.splice(2, 2, 'a', 'b', 'c'); console.log(numbers); console.log(removed);
我们用三个新元素替换从索引 2 开始的两个元素。该方法返回已删除的元素。当添加元素的数量与移除元素的数量不同时,数组长度会发生变化。
$ node main.js [ 1, 2, 'a', 'b', 'c', 5 ] [ 3, 4 ]
使用负的起始索引
起始索引可以是负数,从数组的末尾开始计数。
const letters = ['a', 'b', 'c', 'd', 'e']; letters.splice(-2, 1); console.log(letters);
我们移除从倒数第二个位置开始的一个元素。负索引从数组末尾向后计数 (-1 是最后一个元素,-2 是倒数第二个,等等)。当您不知道数组长度时,这很有用。
$ node main.js [ 'a', 'b', 'c', 'e' ]
移除特定索引之后的所有元素
省略 deleteCount 参数会从起始索引开始移除所有元素。
const items = ['pen', 'pencil', 'eraser', 'ruler', 'sharpener']; const removed = items.splice(2); console.log(items); console.log(removed);
当省略 deleteCount 参数时,从起始索引到末尾的所有元素都会被移除。这等同于将 deleteCount 设置为 (array.length - start)。该方法返回所有已移除的元素。
$ node main.js [ 'pen', 'pencil' ] [ 'eraser', 'ruler', 'sharpener' ]
来源
在本文中,我们演示了如何使用 splice() 方法来修改 JavaScript 中的数组。
作者
列出 所有 JS 数组函数。