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 相关文章推荐
FusionCharts图表显示双Y轴双(多)曲线
Nov 22 Javascript
jquery图片放大镜功能的实例代码
Mar 26 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
May 14 Javascript
AngularJS辅助库browserTrigger用法示例
Nov 03 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
Nov 07 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
Feb 22 Javascript
BootStrap的双日历时间控件使用
Jul 25 Javascript
VUE前端cookie简单操作
Oct 17 Javascript
JavaScript原生实现观察者模式的示例
Dec 15 Javascript
手写Node静态资源服务器的实现方法
Mar 20 Javascript
react 组件传值的三种方法
Jun 03 Javascript
如何手动实现一个 JavaScript 模块执行器
Oct 16 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
实现树状结构的两种方法
2006/10/09 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
python列表的常用操作方法小结
2016/05/21 Python
Python如何实现文本转语音
2016/08/08 Python
Python守护线程用法实例
2017/06/23 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
python和JavaScript哪个容易上手
2020/06/23 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
制衣厂各岗位职责
2013/12/02 职场文书
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书