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 相关文章推荐
FCK调用方法..
Dec 21 Javascript
超级退弹代码
Jul 07 Javascript
给Function做的OOP扩展
May 07 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
Oct 11 Javascript
javascript面向对象编程(一) 实例代码
Jun 25 Javascript
JS定时刷新页面及跳转页面的方法
Jul 04 Javascript
JavaScript模块随意拖动示例代码
May 27 Javascript
js判断日期时间有效性的方法
Oct 24 Javascript
使用bootstrap实现多窗口和拖动效果
Sep 22 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
Jul 11 Javascript
vue更改数组中的值实例代码详解
Feb 07 Javascript
vue移动端写的拖拽功能示例代码
Sep 09 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的历史和优缺点
2006/10/09 PHP
php实现生成验证码实例分享
2016/04/10 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
JavaScript 继承的实现
2009/07/09 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
jquery异步调用页面后台方法‏(asp.net)
2011/03/01 Javascript
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
2014/05/19 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
法国珠宝店:CLEOR
2017/01/29 全球购物
学生党员思想汇报范文
2014/01/09 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
海洋天堂观后感
2015/06/05 职场文书
旷工检讨书大全
2015/08/15 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python