js判断数组中是否存在某个元素(四种方法)[通俗易懂]

js判断数组中是否存在某个元素(四种方法)[通俗易懂]法一:利用indexOf不存在返回-1,存在返回第一次出现的索引//js检查数组中是否包含某个元素//法一indexOfvararr=[100,20,50,58,6,69,36,45,78,66,45]if(arr.indexOf(66)==-1){console.log(“不存在”)}else{console.log(“存在,索引是:”,arr.indexOf(6.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

法一:利用indexOf 

不存在返回-1,存在返回第一次出现的索引

      // js检查数组中是否包含某个元素
      // 法一 indexOf
      var arr = [100,20,50,58,6,69,36,45,78,66,45]
      if(arr.indexOf(66)==-1){
            console.log("不存在")
      }else{
            console.log("存在,索引是:",arr.indexOf(66))
      }

js判断数组中是否存在某个元素(四种方法)[通俗易懂]

 法二:利用find

它的参数是一个回调函数,所有数组元素依次遍历该回调函数,直到找出第一个返回值为true的元素,然后返回该元素,否则返回undefined。

      var arr = [100,20,50,58,6,69,36,45,78,66,45]
      arr.find(function(value,index,arr){
            if(value==45){
                  console.log("存在",index)    
            }
      })
      console.log(param)

查找45,find会找出所有存在的45以及索引

js判断数组中是否存在某个元素(四种方法)[通俗易懂]

 法三:利用some

some方法同样用于检测是否有满足条件的元素,如果有,则不继续检索后面的元素,直接返回true,如果都不符合,则返回一个false。

用法与find相似,只是find是返回满足条件的元素,some返回的是一个Boolean值,从语义化来说,是否包含返回布尔值更贴切

      let arr = [100,20,50,58,6,69,36,45,78,66,45]
      // some
      let result = arr.some(ele => ele === 45) //true
      if (result) {
      //do something...
      };
      console.log(result)

js判断数组中是否存在某个元素(四种方法)[通俗易懂]

法四:includes 

ES6新增的数组方法,用于检测数组是否包含某个元素,如果包含返回true,否则返回false,比较厉害的是,能直接检测NaN:

优点 就不用说了,最简单的做法没有之一,不用回调,不用复杂的写法,一个方法直接搞定。

缺点 是低版本浏览器支持不是很友好

      let arr = [100,20,50,58,6,69,36,45,78,66,45,NaN]
      // 法四
      let flag = arr.includes(1100)
      let flag1 = arr.includes(NaN)

      console.log(flag,flag1)

js判断数组中是否存在某个元素(四种方法)[通俗易懂]

 推荐使用includes()方法,方便快捷,一步到位~

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180323.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sqlserver怎么用语句创建表_mysql查询表的创建语句

    sqlserver怎么用语句创建表_mysql查询表的创建语句原文地址:http://database.51cto.com/art/201010/231018.htmSQLServer创建表是最常见也是最常用的操作之一,下面就为您介绍SQLServer创建表的语句写法,供您参考,希望可以让您对SQLServer创建表方面有更深的认识。USE suntest create table 仓库 ( 仓库编号 int ,  仓库

    2022年10月17日
    0
  • java 字符 几个字节_java中字符串占几个字节「建议收藏」

    java 字符 几个字节_java中字符串占几个字节「建议收藏」首先,char为Java的基本类型,基本类型所占的字节数是固定的,如int占4字节,double占8字节,这可以使得Java在不同的平台上所占类型固定,很好地保证了Java的可移植性。因此,Java中char类型固定占2个字节。(注:char类型也可以存储一个汉字)。其次,String采用一种更灵活的方式进行存储。在String中,一个英文字符占1个字节,而中文字符根据编码的不同所占字节数也不同。…

    2022年6月26日
    56
  • idea最新激活码2022【2022最新】2022.02.07「建议收藏」

    (idea最新激活码2022)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4KDDGND3CI-eyJsaWNlbnNlSW…

    2022年4月1日
    138
  • Lync 2010 服务器的部署之目录篇

    Lync 2010 服务器的部署之目录篇

    2021年8月19日
    62
  • discuz 二次开发后台调用编辑器的方法![通俗易懂]

    discuz 二次开发后台调用编辑器的方法![通俗易懂]纠结了两个晚上,一个白天,无数次的Google,无数次的baidu,依旧没搜到合理的方案,奇怪难道没人有这个需求吗??好在功夫不负有心人,终于解决了!但是有个缺憾是无法使用图片上传功能。。但是也算不错了!有谁能解决得了这个图片上传的功能,还请分享~~~下面分享一下解决方法!showtablerow(”,array(‘class=”td27″‘,’class=”td28″‘),

    2022年5月12日
    33
  • cmd版贪吃蛇_贪吃蛇老版本无敌版

    cmd版贪吃蛇_贪吃蛇老版本无敌版importjava.awt.*;importjava.util.LinkedList;importjava.util.Scanner;/***@authoraachen0*@date2018/3/2713:56*IDE:IntelliJIDEA*/publicclassSnakeGame{staticfinalintWIDTH=…

    2022年9月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号