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 相关文章推荐
fromCharCode和charCodeAt 方法
Dec 27 Javascript
深入分析js中的constructor和prototype
Apr 07 Javascript
php+js实现倒计时功能
Jun 02 Javascript
jQuery中slideUp()方法用法分析
Dec 24 Javascript
javascript记住用户名和登录密码(两种方式)
Aug 04 Javascript
js实现的tab标签切换效果代码分享
Aug 25 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
js获取时间函数及扩展函数的方法
Oct 30 Javascript
基于JS递归函数细化认识及实用实例(推荐)
Aug 07 Javascript
基于打包工具Webpack进行项目开发实例
May 29 Javascript
JS操作json对象key、value的常用方法分析
Oct 29 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
Jun 04 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实现文件下载(支持中文文名)
2013/12/04 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
python装饰器decorator介绍
2014/11/21 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
2018/10/11 Python
python实现远程控制电脑
2019/05/23 Python
Python中求对数方法总结
2020/03/10 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
Python3基于print打印带颜色字符串
2020/07/06 Python
Python实现画图软件功能方法详解
2020/07/28 Python
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
内容编辑个人求职信
2013/12/10 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
2015年材料员工作总结
2015/04/30 职场文书