splice( ) 和 slice( ) 和 substring( ) 使用与区别

slice()

slice 不会修改原数组,只会返回一个浅复制了原数组中的元素的一个新数组。

语法:

arr.slice([begin[, end]])

参数:

begin : (可选)

提取起始处的索引(从 0 开始),从该索引开始提取原数组元素。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。如果省略 begin,则 slice 从索引 0 开始。如果 begin 超出原数组的索引范围,则会返回空数组。

end:(可选)

提取终止处的索引(从 0 开始),在该索引处结束提取原数组元素。slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 begin,但不包含 end)。如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 如果 end 被省略,则 slice 会一直提取到原数组末尾。如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。

返回值:

一个含有被提取元素的新数组。

示例:

截取数组

const arr = [1, 2, 3, 4, 5]
console.log(arr.slice(2, 4))

截取字符串

let str = '今天天气不错,就是还要排队做核酸'
// 1、最后一个字符不要
console.log(str.slice(0, -1))

// 2、想要中间的 气(开始索引,结束索引)
console.log(str.slice(3, 4))

// 3、从第几个索引开始截,一直截到最后
console.log(str.slice(7))



<!-- 今天天气不错,就是还要排队做核
气
就是还要排队做核酸 -->

substring()

substring 提取从 indexStart 到 indexEnd不包括)之间的字符。

语法:

str.substring(indexStart[, indexEnd])

参数:

indexStart

需要截取的第一个字符的索引,该索引位置的字符作为返回的字符串的首字母。

indexEnd

可选。一个 0 到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内

参数具体描述:

  • 如果 indexStart 等于 indexEndsubstring 返回一个空字符串。
  • 如果省略 indexEndsubstring 提取字符一直到字符串末尾。
  • 如果任一参数小于 0 或为 NaN,则被当作 0。
  • 如果任一参数大于 stringName.length,则被当作 stringName.length

示例:

var anyString = "Mozilla";

// 输出 "Moz"
console.log(anyString.substring(0,3));
console.log(anyString.substring(3,0));
console.log(anyString.substring(3,-3));
console.log(anyString.substring(3,NaN));
console.log(anyString.substring(-2,3));
console.log(anyString.substring(NaN,3));

// 输出 "lla"
console.log(anyString.substring(4,7));
console.log(anyString.substring(7,4));

// 输出 ""
console.log(anyString.substring(4,4));

// 输出 "Mozill"
console.log(anyString.substring(0,6));

// 输出 "Mozilla"
console.log(anyString.substring(0,7));
console.log(anyString.substring(0,10));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值