js中字符串的方法(下)

来源:互联网 发布:现货市场开户软件 编辑:程序博客网 时间:2024/06/18 05:32

es6新增加的方法

1.codePointAt()  能够正确处理4个字节储存的字符,返回指定索引出一个字符的码点。codePointAt方法是测试一个字符由两个字节还是由四个字节组成的最简单方法。

 var s '吉a';

 s.codePointAt(0) // 134071

 s.codePointAt(1) // 57271

 

codePointAt方法返回的是码点的十进制值,如果想要十六进制的值,可以使用toString方法转换一下。

var s = 'a';s.codePointAt(0).toString(16) // "20bb7"s.codePointAt(2).toString(16) // "61"不能识别32位的UTF-16字符

配合for...of循环使用,因为它会正确识别32位的UTF-16字符。

var s = 'a';for (let ch of s) {  console.log(ch.codePointAt(0).toString(16));}// 20bb7// 61

 

2.codePointAt用于从码点返回对应字符,但是这个方法不能识别32位的UTF-16字符(Unicode编号大于0xFFFF)。

String.fromCodePoint(0x20BB7)// ""String.fromCodePoint(0x78, 0x1f680, 0x79) === 'x\uD83D\uDE80y'// true

3.for..of  字符串的遍历器接口

for (let codePoint of 'foo') {  console.log(codePoint)}// "f"// "o"// "o"

4.at()  返回指定索引处的字符

'abc'.at(0) // "a"''.at(0) // ""

 

5.includes():返回布尔值,表示是否找到了参数字符串。这三个方法都支持第二个参数,表示开始搜索的位置。

 

6.startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。这三个方法都支持第二个参数,表示开始搜索的位置。

7.endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。这三个方法都支持第二个参数,表示开始搜索的位置。

 

var s = 'Hello world!';s.startsWith('world', 6) // trues.endsWith('Hello', 5) // trues.includes('Hello', 6) // false

 

8.repeat()  方法返回一个新字符串,表示将原字符串重复n次。

'x'.repeat(3) // "xxx"'hello'.repeat(2) // "hellohello"'na'.repeat(0) // ""

 

 

9.padStart(),padEnd()字符串补全长度的功能

   padStart()用于头部补全

   padEnd()用于尾部补全

padStartpadEnd一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。

'x'.padStart(5, 'ab') // 'ababx''x'.padStart(4, 'ab') // 'abax''x'.padEnd(5, 'ab') // 'xabab''x'.padEnd(4, 'ab') // 'xaba'

如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。

'xxx'.padStart(2, 'ab') // 'xxx''xxx'.padEnd(2, 'ab') // 'xxx'

如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。

'abc'.padStart(10, '0123456789')

如果省略第二个参数,默认使用空格补全长度。

'x'.padStart(4) // '   x''x'.padEnd(4) // 'x   '
原创粉丝点击