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 相关文章推荐
File文件控件,选中文件(图片,flash,视频)即立即预览显示
Apr 09 Javascript
JS实现图片预加载无需等待
Dec 21 Javascript
JavaScript中对象的不同创建方法
Aug 12 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
移动端使用localResizeIMG4压缩图片
Apr 22 Javascript
vue组件中的数据传递方法
May 14 Javascript
使用react render props实现倒计时的示例代码
Dec 06 Javascript
微信小程序的线程架构【推荐】
May 14 Javascript
JavaScript中的类型检查
Feb 03 Javascript
vue+springboot图片上传和显示的示例代码
Feb 14 Javascript
Javascript call及apply应用场景及实例
Aug 26 Javascript
Ajax实现局部刷新的方法实例
Mar 31 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
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
php结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
python3+requests接口自动化session操作方法
2018/10/13 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
介绍信的写法
2015/01/31 职场文书
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang