JS中用来截取部分内容的方法有哪些?

        在 JavaScript 中,我们可以使用多种方法来截取字符串或数组的部分内容。以下是常用的截取方法:

  1. substring(startIndex, endIndex):从指定的起始索引 startIndex 处开始截取字符串,直到 endIndex 处的前一个字符为止。如果省略 endIndex 参数,则截取到字符串末尾。
    let str = "Hello, World!";
    let subStr = str.substring(7, 12); // 截取从索引7到索引11的字符
    console.log(subStr); // 输出:World
    
  2. substr(startIndex, length):从指定的起始索引 startIndex 处开始截取指定长度 length 的字符。
    let str = "Hello, World!";
    let subStr = str.substr(7, 5); // 从索引7开始截取5个字符
    console.log(subStr); // 输出:World
    
  3. slice(startIndex, endIndex):从指定的起始索引 startIndex 处开始截取字符串,直到 endIndex 处的前一个字符为止。与 substring 方法类似,但可以处理负数索引。
    let str = "Hello, World!";
    let subStr = str.slice(7, 12); // 截取从索引7到索引11的字符
    console.log(subStr); // 输出:World
    

注意:

  1. substring 和 substr 方法也可以处理负数索引,但是处理方式不同。substring 方法会将负数索引视为 0,而 substr 方法会将负数索引视为字符串末尾开始的位置。

  2. 对于数组,我们可以使用 slice(startIndex, endIndex) 方法来截取数组的部分内容,与字符串的 slice 方法类似。

    let arr = [1, 2, 3, 4, 5];
    let subArr = arr.slice(1, 4); // 截取索引1到索引3的元素
    console.log(subArr); // 输出:[2, 3, 4]
    
  3. slice还可以用来数组拷贝:arr.slice(0)。 同样我们也可以通过arr.concat()方法来实现数组copy,但值得注意的是这两个都是浅克隆。

    const originalArray = [1, 2, [3, 4]];
    const copiedArray1 = originalArray.slice(0);
    const copiedArray2 = originalArray.concat();
    
    originalArray[0] = 100; // 修改原数组的第一个元素
    originalArray[2][0] = 300; // 修改原数组的第三个元素中的第一个元素
    
    console.log(originalArray); // [100, 2, [300, 4]]
    console.log(copiedArray1); // [1, 2, [300, 4]],修改了原数组的第三个元素
    console.log(copiedArray2); // [1, 2, [300, 4]],修改了原数组的第三个元素
    
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值