ES6中Array.includes()函数的用法


Posted in Javascript onSeptember 20, 2017

在ES5,Array已经提供了indexOf用来查找某个元素的位置,如果不存在就返回-1,但是这个函数在判断数组是否包含某个元素时有两个小不足,第一个是它会返回-1和元素的位置来表示是否包含,在定位方面是没问题,就是不够语义化。另一个问题是不能判断是否有NaN的元素。

const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN]
console.log('%s', arr1.indexOf(NaN))

结果:

-1

ES6提供了Array.includes()函数判断是否包含某一元素,除了不能定位外,解决了indexOf的上述的两个问题。它直接返回true或者false表示是否包含元素,对NaN一样能有有效。

const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN]
console.log('%s', arr1.includes('c'))
console.log('%s', arr1.includes('z'))
console.log('%s', arr1.includes(NaN))

结果:

true
false
true

includes()函数的第二个参数表示判断的起始位置。

const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN]
console.log('%s', arr1.includes('d', 1))
console.log('%s', arr1.includes('d', 3))
console.log('%s', arr1.includes('d', 4))

结果:

true
true
false

第二个参数也可以是负数,表示从右数过来第几个,但是不改变判断搜索的方向,搜索方向还是从左到右。

console.log('%s', arr1.includes('k', -1))
console.log('%s', arr1.includes('k', -2))
console.log('%s', arr1.includes('i', -3))

结果:

false
true
false

总结

以上所述是小编给大家介绍的ES6中Array.includes()函数的用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
背景图跟随鼠标移动的Mootools插件实现代码
Dec 12 Javascript
jquery 延迟执行实例介绍
Aug 20 Javascript
浅析return false的正确使用
Nov 04 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
Nov 21 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 Javascript
js实现文字闪烁特效的方法
Dec 17 Javascript
详解Vuex中mapState的具体用法
Sep 28 Javascript
AngularJS实现controller控制器间共享数据的方法示例
Oct 30 Javascript
js事件on动态绑定数据,绑定多个事件的方法
Sep 15 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
Nov 30 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
Nov 03 Javascript
微信小程序视图template模板引用的实例详解
Sep 20 #Javascript
highcharts 在angular中的使用示例代码
Sep 20 #Javascript
jQuery实现可兼容IE6的滚动监听功能
Sep 20 #jQuery
Bootstrap Table快速完美搭建后台管理系统
Sep 20 #Javascript
VUE页面中加载外部HTML的示例代码
Sep 20 #Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
Sep 20 #Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
Sep 20 #Javascript
You might like
星际争霸中的热键
2020/03/04 星际争霸
php 图像函数大举例(非原创)
2009/06/20 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
javascript数字时钟示例分享
2014/04/23 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
elementUI select组件value值注意事项详解
2019/05/29 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
JavaScript使用prototype属性实现继承操作示例
2020/05/22 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
深入浅析Python中的yield关键字
2018/01/24 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
解析python的局部变量和全局变量
2019/08/15 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
python dict乱码如何解决
2020/06/07 Python
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
承诺书怎么写
2014/03/26 职场文书
装修施工安全责任书
2014/07/24 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
接待员岗位职责
2015/02/13 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android