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. 类数组转数组
    在这里插入图片描述
发布了27 篇原创文章 · 获赞 4 · 访问量 6295

猜你喜欢

转载自blog.csdn.net/studentenglish/article/details/94592313