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 相关文章推荐
iframe 异步加载技术及性能分析
Jul 19 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
Dec 16 Javascript
Javascript快速排序算法详解
Dec 03 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
js验证框架实现代码分享
May 18 Javascript
Jquery on方法绑定事件后执行多次的解决方法
Jun 02 Javascript
Bootstrap框架实现广告轮播效果
Nov 28 Javascript
Vue监听数组变化源码解析
Mar 09 Javascript
Angular4绑定html内容出现警告的处理方法
Nov 03 Javascript
mac中利用NVM管理不同node版本的方法详解
Nov 08 Javascript
详解javascript中var与ES6规范中let、const区别与用法
Jan 11 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
Jul 24 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
php将会员数据导入到ucenter的代码
2010/07/18 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
尽可能写"友好"的"Javascript"代码
2007/01/09 Javascript
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
Javascript 获取LI里的内容
2008/12/17 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
实例讲解JavaScript预编译流程
2019/01/24 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
举例讲解Python常用模块
2019/03/08 Python
python里 super类的工作原理详解
2019/06/19 Python
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
优秀辅导员事迹材料
2014/02/16 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
七年级作文之下雨天
2019/12/23 职场文书
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL