JS數組slice()和splice()的區別

 

  之前仍是純小白的時候,總會搞混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

       

相關文章
相關標籤/搜索