slice, substring,substr三者区别以及用法扩展

slice, substring,substr三者区别

slice和substring

  • 两者都是截取start(包括)到end(不包括)之间的字符串
  • 都允许参数为负数(最后一位为-1)

  • 不同的是slice的start的位置必须要在end之前,否则返回空。
  • 而substring没有这个限制,substring会将负值转换成0,然后取两者最小的为start, 最大的为end进行截取。

例如:

var str = ‘abcde’

---- substring会将负值转换成0,然后取两者最小的为start, 最大的为end进行截取。
console.log(str.substring(0, 1)) // 'a'
console.log(str.substring(4, -2)) // 'abcd'
console.log(str.substring(-3, -2)) // ''


---- slice两个参数都允许为负数,但是start的位置必须要在end之前,否则返回空。
console.log(str.slice(0, 1)) // 'a'
console.log(str.slice(4, -2)) // ''
console.log(str.slice(2)) // 'cde' // 如果不设置第二个参数,这默认截取到最后一位
console.log(str.slice(-3, -2)) // 'c'

而substr比较特殊,substr的end参数表示要截取的长度,若该参数为负数或0,都将返回空字符串

----- substr参数: 第一个参数表示起始索引值, 第二个表示要截取的字符串长度(若为0或者负数,则返回空值)
console.log(str.substr(1, -1)) // ''
console.log(str.substr(1, 0)) // ''
console.log(str.substr(1, 2)) // 'bc'

扩展:

  1. 类数组转数组
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值