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

       

相关文章
相关标签/搜索