es6字符串新增方法

1.判断字符串是否包含在另一个字符串中

可以用来确定一个字符串是否包含在另一个字符串中。ES6 又提供了三种新方法。

传统上是indexOf()

新增
includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部

第一个参数,表示要寻找的字符串

let s = 'Hello world!';

s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

第二个参数,表示开始搜索的位置。

s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false

注意:使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

2.原字符串重复

repeat()方法返回一个新字符串,表示将原字符串重复n次
注意: 1.参数如果是小数,会被取整。
2.如果repeat的参数是负数或者Infinity,会报错。但是,如果参数是 0 到-1 之间的小数,则等同于0,这是因为会先进行取整运算。0 到-1 之间的小数,取整以后等于-0,repeat视同为 0。 参数NaN等同于 0。
3.如果repeat的参数是字符串,则会先转换成数字。

3.字符串补全

padStart()和padEnd()接受两个参数

第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串。少补多删。

如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串。

'mmm'.padStart(5, 'ab') // 'abmmm'
'mmm'.padEnd(2, 'ab') // 'mmm'

4.消除字符串空格

trim()消除字符串前后的空格

trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。

const x = '      abc ';

x.trim() // "abc"
x.trimStart() // "abc  "
x.trimEnd() // "  abc"

浏览器还部署了额外的两个方法,trimLeft()是trimStart()的别名,trimRight()是trimEnd()的别名。

5. matchAll()方法

返回一个正则表达式在当前字符串的所有匹配

6.字符串替换

字符串的实例方法replace()只能替换第一个匹配。 replaceAll()方法,可以一次性替换所有匹配。

'aabbccbb'.replaceAll('b', '_')
// 'aa__cc__'

7.返回参数指定位置的字符

at()方法接受一个整数作为参数,返回参数指定位置的字符,允许负索引(即倒数的位置)。

const str = 'hello';
str.at(1) // "e"
str.at(-1) // "o"

如果参数位置超出了字符串范围,at()返回undefined。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值