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 相关文章推荐
javascript字母大小写转换的4个函数详解
May 09 Javascript
使用javascript实现雪花飘落的效果
Jan 13 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
Sep 23 Javascript
学习javascript面向对象 掌握创建对象的9种方式
Jan 04 Javascript
详解javascript立即执行函数表达式IIFE
Feb 13 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
Jul 27 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
Aug 21 Javascript
Vue 理解之白话 getter/setter详解
Apr 16 Javascript
jQuery实现获取多选框的值示例
Feb 07 jQuery
vue3弹出层V3Popup实例详解
Jan 04 Vue.js
微信小程序视图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
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
浅谈php中fopen不能创建中文文件名文件的问题
2017/02/06 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
IE无法设置短域名下Cookie
2010/09/23 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
vue.js中过滤器的使用教程
2017/06/08 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
Python urlopen 使用小示例
2008/09/06 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
python 对xml解析的示例
2021/02/27 Python
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
个人合作协议书范本
2014/04/18 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
十岁生日答谢词
2015/01/05 职场文书
放假通知
2015/04/14 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
Html5新增了哪些功能
2021/04/16 HTML / CSS
Python多个MP4合成视频的实现方法
2021/07/16 Python