js splice实现
splice 方法的基本用法
JavaScript 的 splice() 方法是数组操作中非常实用的一个方法,用于添加、删除或替换数组中的元素。该方法会直接修改原数组,并返回被删除的元素组成的数组。
语法:
array.splice(start, deleteCount, item1, item2, ...)
参数说明:
start:指定修改的起始位置(从 0 开始计数)。如果为负数,表示从数组末尾开始计算。deleteCount(可选):要移除的元素个数。如果为 0 或负数,表示不移除元素。item1, item2, ...(可选):要添加到数组的元素,从start位置开始插入。
删除元素
使用 splice() 删除数组中的元素时,只需指定 start 和 deleteCount 参数。例如:
const arr = [1, 2, 3, 4, 5];
const removed = arr.splice(1, 2); // 从索引 1 开始删除 2 个元素
console.log(arr); // [1, 4, 5]
console.log(removed); // [2, 3]
添加元素
如果不需要删除元素,仅需添加元素,可以将 deleteCount 设置为 0:
const arr = [1, 2, 3];
arr.splice(1, 0, 'a', 'b'); // 从索引 1 开始添加 'a' 和 'b'
console.log(arr); // [1, 'a', 'b', 2, 3]
替换元素
通过指定 deleteCount 和要插入的元素,可以实现替换功能:
const arr = [1, 2, 3, 4];
const removed = arr.splice(1, 2, 'x', 'y'); // 从索引 1 开始删除 2 个元素,并插入 'x' 和 'y'
console.log(arr); // [1, 'x', 'y', 4]
console.log(removed); // [2, 3]
负索引的使用
start 参数可以是负数,表示从数组末尾开始计算:

const arr = [1, 2, 3, 4, 5];
arr.splice(-2, 1); // 从倒数第 2 个位置删除 1 个元素
console.log(arr); // [1, 2, 3, 5]
注意事项
splice()会直接修改原数组,而非返回一个新数组。如果需要保留原数组,可以先创建副本再操作。- 如果未指定
deleteCount,则从start开始删除所有后续元素。 - 插入的元素可以是任意类型,包括对象或其他数组。
通过灵活使用 splice(),可以实现数组的多种操作,如删除、插入和替换。






