ES6 字符串的扩展

1.at()-返回字符串给定位置的字符

charAt():该方法不能识别码点大于0xFFFF的字符

at():可以识别码点大于0xFFFF的字符

2.includes()-返回布尔值,表示是否找到了参数字符串

startsWith()-返回布尔值,表示参数字符串是否在源字符串的头部

endsWidth()-返回布尔值,表示参数字符串是否在源字符串的尾部

var s = 'Hello world!';

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

这三个方法都支持第二个参数,表示开始搜索的位置。

var s = 'Hello world!';

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

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

3.repeat()-返回一个新字符串,表示将原字符串重复n次

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

参数如果是小数,会被取整。

'na'.repeat(2.9)//"nana"

如果参数是负数或者Infinity,会报错。

'na'.repeat(Infinity)//RangeError
'na'.repeat(-1)//RangeError

如果参数是0到-1之间的小数,则等同于0,这是因为会先进行取整运算。0到-1之间的小数,取整以后等于-0,repeat视同为0。

'na'.repeat(-0.9)//""

参数NAN等同于0。

'na'.repeat(NAN)//""

如果参数是字符串,则会先转换成数字。

'na'.repeat('na')//""
'na'.repeat('3')//"nanana"

4.padStart(),padEnd()-字符串补全长度,padStart用于头部补全,padEnd用于尾部补全。

'x'.padStart(5,'ab')//"ababx"
'x'.padStart(4,'ab')//"abax"

'x'.padEnd(5,'ab')//"xabab"
'x'.padEnd(4,'ab')//"xaba"

上面的代码中,padStart和padEnd分别接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。

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

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

如果省略第二个参数,则会用空格来补全。

'x'.padStart(4)//"   x"
'x'.padEnd(4)//"x   "

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6提供了多种方法来将字符串转换为数组。其中一种方法是使用拓展运算符。拓展运算符可以将字符串的每个字符作为数组的元素展开。例如,可以使用以下代码将字符串转换为数组: ```javascript let str = "hello"; let arr = [...str]; console.log(arr); // ['h', 'e', 'l', 'l', 'o'] ``` 另一种方法是使用Array.from()方法。Array.from()方法可以将类似数组的对象或可迭代对象转换为真正的数组。对于字符串,可以将字符串作为参数传递给Array.from()方法来将其转换为数组。例如: ```javascript let str = "hello"; let arr = Array.from(str); console.log(arr); // ['h', 'e', 'l', 'l', 'o'] ``` 无论是使用拓展运算符还是Array.from()方法,都可以将字符串转换为数组,以便进行进一步的操作和处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【JavaScript源代码】ES6扩展运算符的理解与使用场景.docx](https://download.csdn.net/download/mmoo_python/72032372)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ES6中转换为数组的方法](https://blog.csdn.net/weixin_45239190/article/details/120515247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值