js中substr,substring以及splice

substring

substring 是一个字符串方法,用于从一个字符串中提取一部分子字符串。它接受两个参数:起始索引和结束索引(不包括结束索引处的字符)。substring 方法的特点是它不会改变原始字符串,而是返回一个新的字符串。如果任何一个参数小于0或非数值,substring 会将它们视为0。如果结束索引大于字符串的长度,substring 会自动将其调整为字符串的长度。如果开始索引大于结束索引,substring 会交换两个索引的位置。

let str = "Hello, World!";  
let substringResult = str.substring(0, 5); // 提取从索引0到索引4的子字符串  
console.log(substringResult); // 输出: "Hello"

substr

substr 也是一个字符串方法,用于从字符串中提取字符。它接受两个参数:起始索引和要提取的字符数。与 substring 不同,substr 的第一个参数是起始位置,第二个参数是要提取的字符数。同样,substr 也不会改变原始字符串,而是返回一个新的字符串。如果起始索引是负数,substr 会从字符串的末尾开始计数。

let str = "Hello, World!";  
let substrResult = str.substr(0, 5); // 从索引0开始提取5个字符  
console.log(substrResult); // 输出: "Hello"  
  
// 使用负数作为起始索引的示例  
let substrNegativeStart = str.substr(-5); // 从字符串末尾开始提取5个字符  
console.log(substrNegativeStart); // 输出: "orld!"

splice

splice 是一个数组方法,用于在数组中添加/删除项目,并返回被删除的项目。它接受至少两个参数:起始索引和要删除的项目数量。还可以接受额外的参数,这些参数表示要添加到数组中的新元素。与 substring 和 substr 不同,splice 直接修改原始数组,并返回包含被删除元素的新数组。如果没有删除任何元素,splice 将返回一个空数组。

let arr = [1, 2, 3, 4, 5];  
  
// 从索引1开始,删除2个项目,并添加'a'和'b'  
let spliceResult = arr.splice(1, 2, 'a', 'b');  
console.log(arr); // 输出: [1, 'a', 'b', 4, 5]  
console.log(spliceResult); // 输出: [2, 3],这是被删除的元素数组  
  
// 如果不删除任何元素,splice将返回一个空数组  
let emptySpliceResult = arr.splice(2, 0, 'c'); // 在索引2处插入'c',但不删除任何元素  
console.log(arr); // 输出: [1, 'a', 'b', 'c', 4, 5]  
console.log(emptySpliceResult); // 输出: []

总结

  • substring 和 substr 都是字符串方法,用于提取字符串的一部分。它们的主要区别在于参数的解释和用法。
  • splice 是数组方法,用于在数组中添加/删除元素,并返回被删除的元素。
  • substring 和 substr 不会改变原始字符串,而 splice 会直接修改原始数组。
  • substring 和 substr 返回的是新的字符串,而 splice 返回的是被删除的元素数组。

在处理字符串时,substring 和 substr 的选择通常取决于个人偏好和具体需求。在处理数组时,应该使用 splice

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值