之前仍是純小白的時候,總會搞混JS數組的 slice() 和 splice() 方法。由於這2個方法名字太像了,就差一個字母,語法也有相似之處。javascript
如今久了沒用,有時候也會忘記,因此作一個總結來區分一下。css
slice()html
slice()定義:從已有的數組中返回你選擇的某段數組元素java
slice()語法:arrayObject.slice(start,end)數組
注:spa
①:start表示從何處開始選取,end表示從何處開始結束選取,表示一個選取的範圍htm
②:start能夠爲負數,此時它規定從數組尾部開始算起的位置。也就是-1 ,指最後一個元素,-2 指倒數第二個元素,以此類推blog
③:end若是沒有被指定參數,數組會包含從 start 到最後一個數組元素的全部元素ip
④:slice()方法不會修改數組自己,而是返回所選取範圍的數組元素。若是想刪除數組中的某一個元素,須要使用splice()it
下面來看一些例子
這裏的取值範圍是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