Array.prototype.splice截取数组

该文章发布于 ,归类于 Javascript

常见的删除一个元素和新增一个元素就不说了,这里说说其另一个用法

const arr = [1, 2, 3]
arr.splice(2)

最终打印数组arr输出的结果为[1, 2]

splice的第二个参数其实是可以省略的,这段代码相当于[1, 2, 3].splice(2, arr.length - 2),可以参见MDN相关说明。

所以呢,上面的这种用法等价于arr.length = 2

在使用Vue进行数据操作时,如果你直接arr.length = 2,Vue是无法侦测数据变动的,但是如果使用arr.splice(2),就可以很好的解决这个问题。可以参见Vue的相关说明

splice这种省略第二个参数的用法不太常见,我从vue的官方文档上发现了这种写法,的确足够简单而强大。

相关文章