方法罗列
方法 | 是否修改原数组 | 返回值 |
---|---|---|
slice | 否 | 包含摘取元素的新数组 |
toSpliced | 否 | 不包含被删除元素的新数组 |
slice
获取指定位置的元素,然后将这些元素作为数组返回。
函数签名:slice([start], [end])
start
摘取开始位置end
摘取结束位置
使用示例:浅拷贝
const items = [1, 2, 3]
const nextItems = items.slice()
// [1, 2, 3]
start
默认为0
,end
默认为items.length
所以在两个参数都不指定的情况下能够达到浅拷贝数组的效果。
toSpliced
删除指定位置的元素,将剩余的元素作为数组返回。
函数签名:toSpliced(start, [deleteCount], [item1], [item2], [itemN])
start
删除开始位置deleteCount
删除结束位置(deleteCount + start
)
使用示例:浅拷贝
const items = [1, 2, 3]
const nextItems = items.toSpliced(0, 0)
// [1, 2, 3]
删除起始位置为0
,删除元素个数为0
,等于没有删除,所以能够达到浅拷贝数组的效果。
toSpliced和slice的差异
toSpliced
和slice
都结果来看,都是从数组中获取一些元素。
slice
获取指定范围内的元素。toSpliced
获取排除指定范围内元素后剩下的元素。
其他
splice
会修改原数组,产生副作用,所以不予考虑。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。