ES6中Array.includes()函数如何使用

本文主要和大家介绍es6中array.includes()函数的用法,需要的朋友可以参考下,希望能帮助到大家。

在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中Object.assign()方法

ES6 Promise 扩展always方法实例详解

ES6块级作用域详解

以上就是ES6中Array.includes()函数如何使用的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2787473.html

(0)
上一篇 2025年3月8日 18:08:13
下一篇 2025年2月23日 08:00:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • highcharts在angular中如何正确使用

    本文主要和大家介绍highcharts 在angular中的使用示例代码,非常具有实用价值,需要的朋友可以参考下,希望能帮助到大家。 安装依赖 npm install highcharts-ng –save 登录后复制 引入依赖 ‘hig…

    2025年3月8日
    200
  • angular指令ng-options如何使用

    ng-options指令用途: 在表达式中使用数组或对象来自动生成一个select中的option列表。ng-options与ng-repeat很相似,很多时候可以用ng-repeat来代替ng-options。但是ng-options提供…

    2025年3月8日
    200
  • js的变量提升和函数提升详解

    本文为大家带来一篇基于js的变量提升和函数提升(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 一、变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个…

    编程技术 2025年3月8日
    200
  • .vue文件的生成和使用实例分享

    这几天新项目用vue2.0开发,由于之前没用过vue,拿到项目框架看到都是.vue文件,本文主要和大家介绍vue2.0开发入门笔记之.vue文件的生成和使用,非常具有实用价值,需要的朋友可以参考下,希望能帮助到大家。 不知道怎么用,以下是关…

    2025年3月8日 编程技术
    200
  • 对象字面量和构造函数创建对象详解

    对象字面量创建的是对象,而构造函数创建的是函数对象。为了帮助理解,希望本文能帮助到大家。 1、向原型链上添加属性为什么用prototype,而一般不用__proto__ 2、javascript为什么要设置一个函数对象,他的作用是什么 3、…

    2025年3月8日
    200
  • 在项目中使用jest测试react native组件的方法

    目前javascript的测试工具很多,但是针对react的测试策略,facebook推出的reactjs标配测试工具是jest.jest的官网地址:https://facebook.github.io/jest/。我们可以看到jest官网…

    2025年3月8日
    200
  • 运动缓冲效果的封装函数示例代码

    之前经常写运动函数,要写好多好多,后来想办法封装起来。(运动缓冲)。本文主要和大家介绍了js实现运动缓冲效果的封装函数,涉及javascript时间函数与数值运算相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。 /*  物体多属性同时…

    编程技术 2025年3月8日
    200
  • vue使用Jade模板写html

    vue 使用Jade模板写html,stylus写css 日常工作都是使用vue开发页面和webapp,写的多了就想偷懒简化各种书写方式,所以使用了jade写html,stylus写css,省了很多的步骤和提高了效率。安装包 // 安装ja…

    编程技术 2025年3月8日
    200
  • 数组函数有哪些用处

    很多时候你可能很纠结,你应该使用reduce更多或者你不应该使用filter,更应该使用map;或者是for,为什么不使用forEach?是不是太纠结了。 事实上呢?数组和数组的迭代函数对于初学者来说都会感到困惑,所以我将试着为每个简化问题…

    编程技术 2025年3月8日
    200
  • 线浏览PDF文件的几个实用js插件

    在web开发当中我们经常需要进行需要在线浏览PDf内容,在线嵌入动态pdf,传统的解决方法安装客户端PDF阅读器,如果是在谷歌是可以在线浏览的,因为他自身就带了一些插件,以前遇到这样的问题往往是费时又费力,本文主要给大家分享一系列使用jav…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论