动态

详情 返回 返回

數組方法中的slice與toSpliced - 动态 详情

方法羅列

方法 是否修改原數組 返回值
slice 包含摘取元素的新數組
toSpliced 不包含被刪除元素的新數組

slice

獲取指定位置的元素,然後將這些元素作為數組返回。

函數簽名:
slice([start], [end])
start摘取開始位置
end摘取結束位置

使用示例:淺拷貝

const items = [1, 2, 3]
const nextItems = items.slice()
// [1, 2, 3]

start默認為0end默認為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的差異

toSplicedslice都結果來看,都是從數組中獲取一些元素。

slice獲取指定範圍內的元素。
toSpliced獲取排除指定範圍內元素後剩下的元素。

其他

splice會修改原數組,產生副作用,所以不予考慮。

user avatar front_yue 头像 abc-x 头像 Poetwithapistol 头像 laggage 头像 yuxl01 头像 jzcreative 头像 shanejix 头像 lishisan 头像 iwan_68b8da84d3d8b 头像 yimo 头像 gaoxingdeqincai 头像 familyaboveall 头像
点赞 26 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.