详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()


Posted in Javascript onMay 12, 2020

当有人问到用来确定一个字符串是否包含在另一个字符串中有哪些方法时,我们会不假思索回答道:indexOf方法。其实,ES6 又提供了三种新方法includes()、startsWith()、endsWith(),也是比较好用的。

indexOf方法在这里就不多说了,大家都比较熟悉,意思就是:返回给定元素在数组中第一次出现的位置,返回结果是匹配开始的位置,如果没有出现则返回-1。

下面详细介绍ES6新增的这三种方法:

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

如下所示:

let str = 'Hello world!';
let res1 = str.includes('Hello');
let res2 = str.includes('hi');
console.log(res1); // true
console.log(res2); // false

结果:

详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()

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

如下所示:

let str = 'Hello world!';
let res1 = str.startsWith('Hello');
let res2 = str.startsWith('world');
console.log(res1); // true
console.log(res2); // false

结果:

详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()

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

如下所示:

let str = 'Hello world!';
let res1 = str.endsWith('!');
let res2 = str.endsWith('d');
console.log(res1); // true
console.log(res2); // false

结果:

详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()

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

let str = 'Hello World!'
 console.log(str.includes('World', 5)) // true 从索引5(包含索引5)开始搜索
 console.log(str.includes('World', 7)) // false
 console.log(str.startsWith('lo', 3)) // true
 console.log(str.startsWith('H', 3)) // false
 console.log(str.endsWith('Hel', 3)) // true
 console.log(str.endsWith('d', 3)) // false

到此这篇关于详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()的文章就介绍到这了,更多相关ES6 includes() startsWith() endsWith()内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
基于jquery ui的alert,confirm方案(支持换肤)
Apr 03 Javascript
Javascript中的getUTCHours()方法使用详解
Jun 10 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
Nov 17 Javascript
javascript实现拖动元素交换位置
Nov 29 Javascript
深入理解逻辑表达式的用法 与或非的用法
Jun 06 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
Sep 17 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
vue.js中toast用法及使用toast弹框的实例代码
Aug 27 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
Nov 05 Javascript
微信小程序传值以及获取值方法的详解
Apr 29 Javascript
微信小程序实现圆形进度条动画
Nov 18 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
Jul 27 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
May 12 #Javascript
详解ES6数组方法find()、findIndex()的总结
May 12 #Javascript
JQuery表单元素取值赋值方法总结
May 12 #jQuery
JavaScript或jQuery 获取option value值方法解析
May 12 #jQuery
Node.js API详解之 console模块用法详解
May 12 #Javascript
基于JS实现视频上传显示进度条
May 12 #Javascript
vue项目中使用bpmn-自定义platter的示例代码
May 11 #Javascript
You might like
php array_flip() 删除数组重复元素
2009/01/14 PHP
php程序效率优化的一些策略小结
2010/07/17 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
yii分页组件用法实例分析
2015/12/28 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
js实现杯子倒水问题自动求解程序
2013/03/25 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
ajax异步请求详解
2017/01/06 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
python实现二叉树的遍历
2017/12/11 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
python爬取youtube视频的示例代码
2021/03/03 Python
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
音乐会主持人开场白
2015/05/28 职场文书
钱学森观后感
2015/06/04 职场文书
爱的教育读书笔记
2015/06/26 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书