js中数组的splice方法(数组的splice)

js中数组的splice方法(数组的splice)

语法

splice:从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。会影响原数组。

参数:

arrayObj

必选项。一个 Array 对象。

start

必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。

deleteCount

必选项。要移除的元素的个数。

item1, item2,. . .,itemN

必选项。要在所移除元素的位置上插入的新元素。

说明

splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。

js中数组的splice方法(数组的splice)

splice

slice:返回一个数组的一段。不影响原数组。

参数

arrayObj

必选项。一个 Array 对象。

start

必选项。arrayObj 中所指定的部分的开始元素是从零开始计算的下标。

end

可选项。arrayObj 中所指定的部分的结束元素是从零开始计算的下标。

说明

slice 方法返回一个 Array 对象,其中包含了 arrayObj 的指定部分。

js中数组的splice方法(数组的splice)

slice

复制数组

①用slice复制数组

使用 slice(0) 可以快速复制并生成 一个新的数组,不过数组是新的,里面的元素还是原来的引用,比如:

js中数组的splice方法(数组的splice)

②用concat复制数组

Array.concat 数组拼接函数也可以用来复制数组,比如:

js中数组的splice方法(数组的splice)

不过 slice和concat 生成的数组是新的,但里面的元素还是原来的引用,比如:

js中数组的splice方法(数组的splice)

如何进行数组的深度复制呢?使用JSON的stringify/parse进行深度复制。但是此种方法无法复制function等无法序列化的对象:

js中数组的splice方法(数组的splice)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论