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 相关文章推荐
基于JQuery的一句代码实现表格的简单筛选
Jul 26 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
Aug 13 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
javascript实现任务栏消息提示的简单实例
May 31 Javascript
JS将网址url转化为JSON格式的方法
Jul 02 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
Aug 01 Javascript
Vue.js组件props数据验证实现详解
Oct 19 Javascript
对vuex中getters计算过滤操作详解
Nov 06 Javascript
JS 创建对象的模式实例小结
Apr 28 Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
Sep 11 Javascript
JavaScript动态生成表格的示例
Nov 02 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 压缩文件夹的类代码
2009/11/05 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
2016/04/07 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
javascript 动态添加事件代码
2008/11/30 Javascript
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
async/await优雅的错误处理方法总结
2019/01/30 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
python获取当前计算机cpu数量的方法
2015/04/18 Python
用Python编写web API的教程
2015/04/30 Python
深入理解Python中装饰器的用法
2016/06/28 Python
详解Python多线程
2016/11/14 Python
Python标准库sched模块使用指南
2017/07/06 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
python pygame实现球球大作战
2019/11/25 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
中药学自荐信
2014/06/15 职场文书
十佳少年事迹材料
2014/12/25 职场文书
中学生逃课检讨书
2015/02/17 职场文书
教师工作表现自我评价
2015/03/05 职场文书
初中同学会致辞
2015/08/01 职场文书
Python中glob库实现文件名的匹配
2021/06/18 Python
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS