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 相关文章推荐
WordPress JQuery处理沙发头像
Jun 22 Javascript
JAVASCRIPT函数作用域和提前声明 分享
Aug 22 Javascript
利用jq让你的div居中的好方法分享
Nov 21 Javascript
jQuery源码解读之removeClass()方法分析
Feb 20 Javascript
jQuery判断浏览器并动态调整select宽度的方法
Mar 02 Javascript
详解React 16 中的异常处理
Jul 28 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
Jul 24 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
Aug 18 Javascript
手机浏览器唤起微信分享(JS)
Oct 11 Javascript
vue实现lodop打印功能的示例
Nov 11 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
Mar 01 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
Win下如何安装PHP的APC拓展
2013/08/07 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
vue.js事件处理器是什么
2017/03/20 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python算法应用实战之栈详解
2017/02/04 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
python实现俄罗斯方块游戏
2020/03/25 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
解决Mac下使用python的坑
2019/08/13 Python
Python模块 _winreg操作注册表
2020/02/05 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
2020/02/27 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
采购意向书范本
2014/03/31 职场文书
中学生家长评语大全
2014/04/16 职场文书
村党支部公开承诺书
2014/05/29 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫