js中slice,substr,substring,splice,split方法的区别

slice方法

  1. slice(start, end)用于字符串和数组截取,start开始截取的位置索引,end截取结束的索引值(不包含),end参数等于你要取的最后一个字符的位置值加上1
  2. slice返回的是一个新的数组,不改变原有数组
  3. slice(start, end)中start必需有。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
  4. slice(start, end)中end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
  5. 切记:slice是可以对数组和字符串进行截取的

实例1:

       let arr = [1, 2, 3, 4, 5];
        console.log(arr.slice(0, 2)); //[1,2]
        let str = "12345";
        console.log(str.slice(0, 2)); //12

实例2:

当slice中只有一个参数,就表示以当前参数为下标开始截取

      let arr = [1, 2, 3, 4, 5];
        console.log(arr.slice(2)); //[3,4,5]
        let str = "12345";
        console.log(str.slice(2)); //345

实例3:

当slice参数为负数的时候,就从最后一个-1开始倒数过来,找到start开始截取的位置,然后开始截取

       let arr = [1, 2, 3, 4, 5];
        console.log(arr.slice(-2)); //[4,5]
        let str = "12345";
        console.log(str.slice(-2)); //45
      let arr = [1, 2, 3, 4, 5];
        console.log(arr.slice(-2, -1)); //[4]
        let str = "12345";
        console.log(str.slice(-2, -1)); //4

substr方法

  1. substr()对字符串进行截取
  2. substr(start, len)中start为必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
  3. substr(start, len)中len可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从字符串的开始位置到结尾的字串。
  4. 返回一个新的字符串

实例如下:

        let str = "12345";
        console.log(str.substr(0, 2)); //12
        console.log(str.substr(2)); //345

substring方法

  1. substring方法跟sustr方法类似,都是只能字符串截取
  2. substring跟sustr不同点:sustring(star,end)中第二个参数end是字符串结束的位置,而不是长度(end等于要取的最后一个字符的位置值加上1)
  3. sustring(star,end)中 start 或 end 为 NaN 或者负数,那么将其替换为0
  4. substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点

实例1:

        let str = "12345";
        console.log(str.substring(1, 2)); //2
        console.log(str.substring(2)); //345

实例2:

substring中参数为负数会用0替换,而substr参数为负数,是从结尾开始的

        let str = "12345";
        console.log(str.substring(4, 2)); //34
        console.log(str.substring(-2)); //12345
        console.log(str.substr(-2)); //45

splice方法

  1. splice会直接对数组进行修改,只能操作数组,不能操作字符串
  2. arrayObject.splice(index,howmany,item1,…,itemX)其中,第二个参数和第二个参数是必选的。index:开始截取索引;howmany:要删除的项目数量。如果设置为 0,则不会删除项目;第三个参数之后就是要插入的数值

实例1:

        let arr = [1, 2, 3, 4, 5];
        let b = arr.splice(0, 2);
        console.log(b); // [1,2]
        console.log(arr); //[3,4,5]

实例2:

        let arr = [1, 2, 3, 4, 5];
        let b = arr.splice(1, 2);
        console.log(b); // [2, 3]
        console.log(arr); //[1,4,5]

实例3

splice删除和插入

        let arr = [1, 2, 3, 4, 5];
        let b = arr.splice(1, 2, "new");
        console.log(b); // [2, 3]
        console.log(arr); //[1,'new',4,5]

split方法

split() 方法用于把一个字符串分割成字符串数组

split可以放两个参数,第一个参数表示分隔符,必选的;第二个参数表示返回数组的最大长度

        let str = "123,123,123,123,123";
        let a = str.split(",");
        let b = str.split(",", 2);
        console.log(a); // ["123", "123", "123", "123", "123"]
        console.log(b); // ["123", "123"]

注意点

  1. 操作对象字符串:split,substr,substring,slice
  2. 操作对象数组:slice,splice
  3. 操作对象数组和字符串:slice
  4. splice只能操作数组,slice可以操作字符串和数组,substr和substring只能操作字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值