js中slice和splice的区别

言简意赅,直接上货。

slice():该方法会返回一个新的数组,强调:新数组,并不会影响原来的数组。先来看看语法咋说:arrayObject.slice(start,end)。其中,start必需,end可选。

  start规定开始截取的位置。end规定结束的位置。

  • 只有start的时候,从start开始的位置开始截取到数组末尾元素。
<script type='text/javascript'>
  var arr = ['A', 'B', 'C', 'D', 'E'];
  var arr1 = arr.slice(2);
  console.log(arr1);//['C','D','E']
</script>
  • start为负数的时候,从数组末尾开始算起,也就是说,-1指的是数组的最后一个元素。-2指的是数组倒数第二个元素。以此类推。
<script type='text/javascript'>
  var arr = ['A', 'B', 'C', 'D', 'E'];
  var arr1 = arr.slice(-2);
  console.log(arr1);//['D','E']
</script>
  • end不包括在内,例如arr.slice[2,4],指的是从数组第2个元素开始截取,到第4个元素结束,不包括结束的第4个元素。如果end是负数,和start用法一样,也是从数组末尾开始截取。

splice():该方法向数组中添加/删除元素,然后返回被删除的元素。会改变原来的数组。强调:会改变原来的数组。先来看看语法咋说:arrayObject.splice(index,howmany,item1,.....,itemX),其中index,howmany必需,item1,......,itemX可选。

       index规定添加/删除的位置。howmany规定要删除的数量。item1,......,itemX规定向数组中添加的元素。

  • howmany为0时,表示不删除元素。
  • item1,......,itemX可选可不选。
<script type='text/javascript'>
    var arr = ['A', 'B', 'C', 'D', 'E'];
    arr.splice(2,0,'New');
    console.log(arr);//['A','B','New','C','D','E']
</script>

 

posted @ 2019-08-05 17:49  babybaoqun  阅读(4234)  评论(0编辑  收藏  举报