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 相关文章推荐
Prototype ObjectRange对象学习
Jul 19 Javascript
jquery提示 "object expected"的解决方法
Dec 13 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
Feb 11 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 Javascript
通过location.replace禁止浏览器后退防止重复提交
Sep 04 Javascript
jQuery中(function($){})(jQuery)详解
Jul 15 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
Jan 25 Javascript
JavaScript学习笔记之取数组中最大值和最小值
Mar 23 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
Jul 13 Javascript
vue.js数据绑定操作详解
Apr 23 Javascript
Vue.js组件通信之自定义事件详解
Oct 19 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
Nov 09 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中的string类型使用说明
2010/07/27 PHP
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
jQuery 页面 Mask实现代码
2010/01/09 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
jquery获取radio值实例
2014/10/16 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
2016/05/10 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
Python中AND、OR的一个使用小技巧
2015/02/18 Python
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
pandas中Timestamp类用法详解
2017/12/11 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
Python实现微信好友的数据分析
2019/12/16 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
十佳教师事迹材料
2014/01/11 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
支部组织生活会方案
2014/06/10 职场文书
个人工作表现评价材料
2014/09/21 职场文书
销售2014年度工作总结
2014/12/08 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS