传统上,JavaScript只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6又提供了三种新方法。

includes()

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

var s = 'Hello world!';
s.includes('o') // true

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

var s = 'Hello world!';s.endsWith('Hello', 5) // true

startsWith()

startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。(大小写敏感)

var s = 'Hello world!';s.startsWith('Hello') // true

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

var s = 'Hello world!';s.startsWith('world', 6) // true

endsWith()

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

var s = 'Hello world!';s.endsWith('!') // true

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

var s = 'Hello world!';s.endsWith('Hello', 5) // true

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

repeat()

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"

repeat()方法,我在耍题时经常会遇到。例如实现两个字符串的右对齐:

ES6学习(新增字符串方法)相关推荐

  1. ES6中新增字符串方法,字符串模板

    ES6中新增字符串方法,字符串模板 多了两个新方法 startsWith endsWith 返回的是一个Boolean值 let str='git://www.baidu.com/2123123';i ...

  2. ES6 - 字符串模板与新增字符串方法

    字符串模板 解决痛点:简化字符串拼接,比如innerHTML,url等 语法格式:反引号 let name = 'murphy'; let age = 18; console.log(`名字${nam ...

  3. es6学习笔记-字符串的扩展_v1.0_byKL

    es6学习笔记-字符串的扩展_v1.0 字符的Unicode表示法 JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必 ...

  4. js中delete是es6_js和es6中的字符串方法总结

    1.substring(start,end) -> 截取字符串 用法: 1.substring(start,end) -> 用数学表达式表达区间的话就是截取[start,end); 2.s ...

  5. python获取字符串首字母_Python学习之字符串方法总结

    1.首字母大写 1 test = "abcdef" 2 v = test.capitalize() 3 print(v) 2.所有字母变小写,lower()只能对ASCII 也就是 ...

  6. ES6中新增数组遍历方法

    ES6中新增的方法 遍历方法: forEach(),fifter(),some(): array.forEach(function(currentValue,index,arr)) // curren ...

  7. python字符串方法的简单使用

    学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: 1 > ...

  8. ES6学习(四)—字符串的新增方法

    ES6学习(四)-字符串的新增方法 挑重点 文章只列举了一部分 完整版请看阮一峰ES6入门教程 点我查看阮一峰ES6入门教程 实例方法:includes(), startsWith(), endsWi ...

  9. ES6/02/创建对象,构造函数和原型,原型和原型链,this指向,类,ES5新增的方法,数组方法,回调函数,ES5新增的字符串方法,ES5中新增的对象方法

    创建对象 1,利用new Object()创建对象 var obj1 =new Object(); 2,利用对象字面量创建对象 var obj2={}; 3,利用构造函数创建对象 function S ...

最新文章

  1. 机器学习:基于Knn算法的用户属性判断方案设计
  2. 让该死的恶意软件去死吧!!!!!!!
  3. uva455periodic strings周期串
  4. C++:控制台程序弹出消息框
  5. Android RecyclerView设计通用Adapter
  6. kafka-eagle报错解决:Kafka version is “-“ or JMX Port is “-1“ maybe kafka broker jmxport disable.
  7. NVIDIA DIGITS 5.1-dev学习笔记之安装过程记录:Windows10 x64位系统 、 MicroSoft Caffe Master、CUDA 8.0 、Python 2.7
  8. 在线apt-get安装mysql_Linux Debain 通过apt-get 方式快速安装Mysql
  9. mysql 创建账号权限_mysql创建用户,并指定用户的权限(grant命令)
  10. UVa12633-Super Rooks on Chessboard-容斥+FFT
  11. mybatis-plus忽略映射字段
  12. UCloud可支撑单可用区320,000服务器的数据中心网络系统设计
  13. 057 生成器和生成器表达式
  14. codeforces 486 E. LIS of Sequence(dp)
  15. 深信服SCSA安全认证工程师
  16. 这几款音乐人必备的软件,你了解吗?
  17. 开源备份工具duplicity支持阿里云OSS后端存储
  18. 有帅帅帅哥看得懂吗?它是延时用的
  19. 用降群的方法来解算还原魔方的步骤C++
  20. 常用图标png、ico 图标下载,图片格式转换为ico

热门文章

  1. GitHub年度报告出炉:中国开源贡献仅次美国、Python成第二热门语言
  2. CVPR 2019 论文大盘点—人体姿态篇
  3. 跳槽必加薪?跳槽是涨薪最快的方式么
  4. java线程深入_深入聊聊Java多线程
  5. 一文带你纵览 200+ 大规模机器学习研究
  6. 综述 | 国防科技大学发布最新「3D点云深度学习」综述论文
  7. 从零开始编写深度学习库(一)SoftmaxWithLoss CPU编写
  8. php 开启phalocn 扩展_php7安装3.4版本的phalcon扩展
  9. 清远机器人编程_致敬逆行者:棒棒贝贝为清远援鄂人员子女免费提供一年乐高编程课...
  10. java 模板方法_Java设计模式21:模板方法(Template Method)