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


 

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

       

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM