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 相关文章推荐
js异步加载的三种解决方案
Mar 04 Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 Javascript
Javascript控制div属性动态变化实例分析
Oct 08 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
Dec 18 Javascript
移动适配的几种方案(三种方案)
Nov 25 Javascript
node.js发送邮件email的方法详解
Jan 06 Javascript
canvas雪花效果核心代码分享
Feb 19 Javascript
js中变量的连续赋值(实例讲解)
Jul 08 Javascript
React Native基础入门之初步使用Flexbox布局
Jul 02 Javascript
浅析微信扫码登录原理(小结)
Oct 29 Javascript
JSON的parse()方法介绍
Jan 31 Javascript
Vue路由前后端设计总结
Aug 06 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(5) 类和对象
2010/02/16 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
2016/07/12 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
vue 开发之路由配置方法详解
2019/12/02 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
Python的面向对象编程方式学习笔记
2016/07/12 Python
Python 文件操作的详解及实例
2017/09/18 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
对Python中plt的画图函数详解
2018/11/07 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
new修饰符是起什么作用
2015/06/28 面试题
旅游管理专业生自荐信范文
2014/01/02 职场文书
自考生自我评价分享
2014/01/18 职场文书
党课知识竞赛主持词
2014/04/01 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
Django与数据库交互的实现
2021/06/03 Python
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android