如何理解js数组的splice函数?和slice函数有何区别?
发布于 作者:苏南大叔 来源:程序如此灵动~

苏南大叔在本文中描述一个js
的splice
函数,和数组切割函数slice
类似,splice
也是一个对数组进行切割的函数。splice
在切割数组的同时,还可以组装数组。这是splice
和slice
最明显的区别。

苏南大叔的程序如此灵动博客,记录苏南大叔的代码所学所想。本文测试环境:node@16.14.2
。
splice
对比slice
对比点 | splice | slice |
---|---|---|
修改原函数 | 是 | 否 |
返回值 | 被剪切的内容 | 被剪切的内容 |
不传递参数 | 可以 | 可以 |
第一个参数 | 剪切的起始点(包括) | 剪切的起始点(包括) |
第二个参数 | 剪切的长度 | 剪切的终点(不包括) |
第二个参数为零 | 表述不剪切 | 0号为第一个位置,返回开头位置 |
第二个参数为负数 | 无效不报错 | 有效负数位置,但是[起始位置,终点位置) |
剩余参数 | 作为添加的内容 | 无效不报错 |
splice
测试代码
应该注意到一个非常有意思的事情,这个list
是使用const
定义的。按理说是个不能被修改的常量。我们用函数去修改它的时候,会报错。但是,splice()
函数却具有修改变量的能力。所以,奇怪的事情就这么发生了,一个不能被修改的常量就被修改了。

对照组,slice
测试代码
参考文章:
https://newsn.net/say/js-slice.html

相关链接
- https://newsn.net/say/js-call.html
- https://newsn.net/say/js-apply.html
- https://newsn.net/say/js-bind.html
结束语
苏南大叔写的js
相关文章,请点击:


