当前位置: 首页 > news >正文

es6 新增方法

第5章 字符串的新增方法

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
let s = 'Hello world!';s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

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

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

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

  • repeat方法返回一个新字符串,表示将原字符串重复n次。
'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""

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

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

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

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

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

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

参数NaN等同于 0。

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

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

'na'.repeat('na') // ""
'na'.repeat('3') // "nanana"
  • padStart():如果某个字符串不够指定长度,会在头部补全
  • padEnd():如果某个字符串不够指定长度,会在尾部补全

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

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

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

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

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

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

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

 


http://www.mrgr.cn/news/55186.html

相关文章:

  • Unity中面试遇到的问题--C#--dynamic
  • 关于懒汉饿汉模式下的线程安全问题
  • 【MySQL】提高篇—事务管理:事务隔离级别的介绍
  • 论文 | LARGE LANGUAGE MODELS ARE HUMAN-LEVEL PROMPT ENGINEERS
  • Python包---numpy1
  • Verilator——最简单、最细节上手教程
  • CompletableFuture回调机制的设计与实现
  • 【最新华为OD机试E卷-支持在线评测】数字游戏(200分)多语言题解-(Python/C/JavaScript/Java/Cpp)
  • Linux进程间通信(二)——共享内存
  • 【STM32开发之寄存器版】(十二)-I2C基础知识详解
  • 前后端联调需要改ip联调多个后端,用nginx代理
  • QT5升级到QT6后遇到的问题
  • Bitmap 和 布隆过滤器傻傻分不清?你这不应该啊
  • 聚焦IOC容器刷新环节postProcessBeanFactory(BeanFactory后置处理)专项
  • SVN 小乌龟 下载地址
  • Git 基本配置
  • nodejs基础(2)
  • 同步和异步路由
  • 【网络安全的神秘世界】Python 3.7安装教程
  • C++实现简易JSON解析与转储
  • 电磁兼容(EMC):趋肤效应在PCB设计中的应用详解
  • DataGrip导出MySql提示无权限errno 13 - Permission denied问题
  • 使用Milvus和Llama-agents构建更强大的Agent系统
  • Mybatis扩展
  • Dockerfile 中,把多个 RUN 合并在一起,能减少镜像尺寸吗?
  • 特斯拉自动驾驶出租车计划变成泡影?联想与Meta合作,推出面向PC的个人AI智能体AI Now|AI日报