slice、splice和split的区别?

一、slice 对数组进行部分截取,并且返回一个新的数组,不改变原来的数组

var a = [1,2,3,4,5,6];
      var b = a.slice(0,3);//[1,2,3]从坐标为0的数开始截取到坐标为3的数字之间的数字
      var c = a.slice(3)//[4,5,6]当只有一个参数的时候,就代表从该参数的坐标开始截取到数组末尾
      console.log(b+'--'+c)
a、如果两个参数中的任何一个是负数,就用数组的长度和参数相加返回一个正数

var a1 = [1,2,3,4,5,6]; //长度为6
    var b1 = a1.slice(-2);//6+(-2) = 4,//从坐标4开始截取到数组末尾
    console.log(b1) //[5,6]
b、当传入两个参数为一正一负时,length也会先于负数相加后再截取

var a2 = [1,2,3,4,5,6]; //长度为6
    var b2 = a2.slice(2,-3) //[3] 6 + (-3) = 3,(2,3)从坐标为2的数字截取到坐标为3之前的数字
    console.log(b2)
 
    var a3 = [1,2,3,4,5,6];
    var b3 = a3.slice(2,5); //从坐标为2的数字开始截取,一直截取到坐标为5的数字之前的数字
    console.log(b3) // [3,4,5] 
c、当传入一个参数时,大于或者等于length时,返回一个空数组

 var a4 = [1,2,3,4,5,6]
    var b4 = a4.slice(6);
    console.log(b4); // [] 
d、slice字符串

var a5 = 'i am a boy'
  var b5 = a5.slice(0,6);//i am a
  console.log(b5);
*

*

*

*

*

二、splice,会改变原数组,对原数组进行增删改查

var a6 = ['a','b','c'];
  var b6 = a6.splice(1,1,'e','f')//把坐标为1的数组抽离出来,替换成后面的两个数字,而b6就等于抽离的数字
 
  console.log(a6);//['a','e','f','c']
  console.log(b6);//['b'] 
 
  var a7 = ['a','b','c'];
  var b7 = a7.splice(0,1,'e','f');//把坐标为0的数字抽离出来,替换成后面的数字,而b7就等于抽离的数字
 
  console.log(a7);
  console.log(b7);
 
  var a8 = ['a','b','c','d'];//
  var b8 = a8.splice(0,2,'e','f')//从坐标为0的数字开始选两位
 
  console.log(a8);//['e','f','c','d']
  console.log(b8);//['a','b']
 

*

*

*

*

三、split根据特定的字符串切分成数组

 
  var a9 = 'caimaomao-will-be-successful!'
  var b9 = a9.split('-');
 
  console.log(b9)//["caimaomao", "will", "be", "successful!"]
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值