slice、splic、splite相互间的区别


一、slice

slice( para1 ),会截取从para1开始的到原数组最后的部分;

slice(para1,para2)会截取原数组的从para1开始的para2-para1个数组。

(ps 如果将下标理解为0的也可以不过要包括当前的值)

  <script type="text/javascript">

    var arr = [1,2,3,4,5,6,7,8,9]

    console.log(arr.slice(2,5))

  </script>


输出结果为【3,4,5】


<script type="text/javascript">

    var arr = [1,2,3,4,5,6,7,8,9]

    console.log(arr.slice(a,b))

</script>


括号内的数值如果为负值则有( 9 + (-a) , ( 9 + (-b) )注意的是这里的9是指arr的长度,如果发生变化则改变其中,a,b的值如果为正则不用改变。


二、splic

splice( para1,para2 ) : 删除数组中任意数量的项,从para1开始的para2项。注意的是用splice删除数组中的值会直接将某几项从数组中完全删除,会导致数组length值的改变,这与delete的删除置为undefined是不一样的。

var arr=[1,2,3,4,5,6];

  //splice(起点,长度)

     arr.splice(2,3);       //输出值为1,2,6 


  //插入splice(起点,长度,元素。。。)

     arr.splice(2,0,'a','b','c')//输出值为1,2,a,b,c,3,4,5,6


     arr.splice(2,2,'a','b','c')//输出值为 1,2,a,b,c,4,5,6


三、splite

splite : 根据特定的字符切割字符串并且返回生成的数组。

var str = "www.baidu.com";

    console.log(str.split())

    console.log(str.split(""))

    console.log(str.split("."))//写谁谁没   变成数组   输出值为 ["www", "baidu", "com"]