使用 splice() 操作数组

关于 splice() 的一些特点
-
能够一次性完成删除、插入或替换元素的组合操作,无需借助多个方法配合使用。
-
在更改原数组的内容和长度的同时,还会返回一个由被删除元素组成的新数组。
-
其他方法: 要创建一个删除和/或替换部分内容而不改变原数组的新数组,请使用
toSpliced()
。要访问数组的一部分而不修改它,参见 使用 slice() 浅拷贝数组片段。
语法
1 | arr.splice(start) |
start
:从哪个下标开始操作,支持负数(从末尾倒数计算)。deleteCount
(可选):要删除的元素个数;若省略或值 ≥ 剩余元素数,则删除从start
到末尾的所有元素;若为 0 或负数,则不删除元素,仅插入。item1…itemN
(可选):要插入的新元素列表
返回值
返回一个数组,包含所有被删除的元素:
-
若删除了多个元素,则数组长度等于删除数量;
-
若只删除一个,则返回单元素数组;
-
若未删除(
deleteCount<=0
且未越界),则返回空数组(MDN Web Docs, W3Schools.com)。
常见用例与示例
增加元素
- 第二个参数设为 0
- 会在选定的起始元素前面增加
- 可以增加多个元素
1 | const months = ["Jan", "March", "April", "June"]; |
替换元素
替换元素的本质是删除若干个元素,然后增加新元素。
1 | const months = ["Jan", "Feb", "March", "April", "June"]; |
删除元素
删除元素会从指定的起始元素开始删(并且包括起始元素)
1 | const arr = ["Jan", "Feb", "March", "April", "June"] |
删除至末尾
1 | let arr = [0,1,2,3,4]; |
负索引支持
起始下标为负数时,会从最后一个元素往前倒数(最后一个元素下标被认为是 -1,倒数第二个则是 -2)
1 | const arr = ["Jan", "Feb", "March", "April", "June"] |
参考文献
- 标题: 使用 splice() 操作数组
- 作者: 三葉Leaves
- 创建于 : 2025-05-09 00:00:00
- 更新于 : 2025-05-26 02:57:24
- 链接: https://blog.oksanye.com/b8c92e14aaef/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论