splice是javascript数组的原生方法,可直接修改原数组实现插入、删除、替换:删除调用arr.splice(start, deletecount)返回被删元素;插入用arr.splice(start, 0, items);替换则合并二者操作。

splice 是 JavaScript 数组的原生方法,能直接修改原数组,实现插入、删除、替换三种操作。它的核心在于用起始索引和删除个数控制“切口”,再把新元素塞进去。
删除元素:指定位置删掉若干项
调用 arr.splice(start, deleteCount),从 start 下标开始,删掉 deleteCount 个元素(deleteCount 可省略,默认删到末尾)。
- 返回值是被删除的元素组成的数组,原数组被修改
-
start支持负数,表示从末尾倒数(如-1是最后一个) - 例如:
let arr = [1, 2, 3, 4]; arr.splice(1, 2);→ 返回[2, 3],arr变成[1, 4]
插入元素:在指定位置添加,不删任何项
调用 arr.splice(start, 0, item1, item2, ...),deleteCount 设为 0,后面跟要插入的元素。
- 元素会从
start索引处“挤”进去,原位置及之后的元素后移 - 例如:
let arr = ['a', 'c']; arr.splice(1, 0, 'b');→arr变成['a', 'b', 'c'] - 可一次插入多个:
arr.splice(0, 0, 'x', 'y')在开头加两个
替换元素:先删后插,一步到位
调用 arr.splice(start, deleteCount, item1, item2, ...),删掉 deleteCount 个,再把新元素插在原位置。
- 这是“删除+插入”的合并写法,比分开调用更简洁高效
- 例如:
let arr = [10, 20, 30]; arr.splice(1, 1, 25, 26);→ 删掉20,插入25, 26,结果是[10, 25, 26, 30] - 若
deleteCount为 0,就是纯插入;若后面没给新元素,就是纯删除
注意事项和常见误区
splice 是“破坏性”操作,会改变原数组,不是返回新数组(想不改原数组可用 slice + 扩展运算符组合)。
- 索引越界时不会报错:
splice(10, 1)在长度为 3 的数组上执行,等价于splice(3, 1),即在末尾删 1 个(实际删 0 个) - 如果
start超出范围(比如大于数组长度),新元素会追加到末尾 - 返回值始终是数组,哪怕只删一个元素或没删任何元素(返回空数组)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











