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 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 Javascript
js 加载并解析XML字符串的代码
Dec 13 Javascript
基于jquery的Repeater实现代码
Jul 17 Javascript
jQuery代码优化之基本事件
Nov 01 Javascript
Javascript ES6中数据类型Symbol的使用详解
May 02 Javascript
jquery实现图片轮播器
May 23 jQuery
清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)
Aug 14 Javascript
使用JS模拟锚点跳转的实例
Feb 01 Javascript
vue实现组件之间传值功能示例
Jul 13 Javascript
vue-quill-editor富文本编辑器简单使用方法
Sep 21 Javascript
Vue拖拽组件列表实现动态页面配置功能
Jun 17 Javascript
使用异步controller与jQuery实现卷帘式分页
Jun 18 jQuery
微信小程序视图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 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
PHP类中Static方法效率测试代码
2010/10/17 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
python 编写简单网页服务器的实例
2018/06/01 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
python版百度语音识别功能
2019/07/09 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
大学生标准推荐信范文
2013/11/25 职场文书
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
企业承诺书怎么写
2014/05/24 职场文书
八一建军节演讲稿
2014/09/10 职场文书
教师工作失职检讨书
2014/09/18 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2015年团支书工作总结
2015/04/03 职场文书
工作经历证明范本
2015/06/15 职场文书