以前還是純小白的時候,總會搞混JS數組的 slice() 和 splice() 方法。因為這2個方法名字太像了,就差一個字母,語法也有類似之處。
現在久了沒用,有時候也會忘記,所以做一個總結來區分一下。
slice()
slice()定義:從已有的數組中返回你選擇的某段數組元素
slice()語法:arrayObject.slice(start,end)
注:
①:start表示從何處開始選取,end表示從何處開始結束選取,表示一個選取的范圍
②:start可以為負數,此時它規定從數組尾部開始算起的位置。也就是-1 ,指最后一個元素,-2 指倒數第二個元素,以此類推
③:end如果沒有被指定參數,數組會包含從 start 到最后一個數組元素的所有元素
④:slice()方法不會修改數組本身,而是返回所選取范圍的數組元素。如果想刪除數組中的某一個元素,需要使用splice()
下面來看一些例子
這里的取值范圍是0-2(start-end),因為數組的下標是從0開始,所以這里的2就是下面數組中的 javascript元素
這里需要注意的是0-2選取的元素是html和css,並不包括javascript
如果只有start,則會選擇start開始到end之間的所有數組元素
如果start是負數,則會從數組尾部開始算起。這里只有start沒有end,且start為負數,所以只能獲取到最后1個數組元素

如果你想獲取除了最后1個元素以外的全部元素
如果start和end都是負1,結果為空
splice()
splice()定義:從數組中添加或刪除元素,然后返回被刪除的數組元素。
splice()語法:arrayObject.splice(index,howmany,item1,.....,itemX)
注:
①:index表示從什么位置開始添加或刪除數組元素
②:howmany表示刪除的元素數量,如果為0,則表示不刪除數組元素
③:tem1,.....,itemX表示新增的數組元素
④:slice()方法會改變原始數組
下面來看一些例子
從第3個元素(即 javascript)開始且不刪除元素,並在第3個元素前面新增1個元素hello
從第3個元素開始且刪除1個元素(這里刪除的元素是 javascript),並在原來第3個元素的位置新增1個元素hello
從最后1個元素開始並刪除最后1個元素,同時在刪除的最后1個元素的位置新增1個元素hello
從最后1個元素開始且不刪除元素,同時在最后1個元素前面新增1個元素hello