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()方法,方便快捷,一步到位~

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 识别手写数字的神经网络_基于神经网络的数字分类

    识别手写数字的神经网络_基于神经网络的数字分类神经网络之手写数字文章目录神经网络之手写数字00.写在之前01.代码框架02.开始做一些准备工作03.框架的开始04.训练模型构建05.手写数字的识别06.想看源码的同学戳这里07.思考首先鼓掌,又是一个有收获的五一小假期,想前年五一出门旅游,去年五一疫情在家写了爬虫【就是我博客里的那个口袋妖怪】,这个五一就写了一个神经网络。代码参考学习于python神经网络编程这本书。实话实说,这本书看了好几次,之前打算写来着,但不知道为什么总是不敢轻易尝试,今天把五一的任务的任务都完成了,早上就想

  • C#开发之——ParameterizedThreadStart(14.4)「建议收藏」

    C#开发之——ParameterizedThreadStart(14.4)「建议收藏」一概述在C#语言中使用ParameterizedThreadStart创建进程,首先需要创建ParameterizedThreadStart委托的实例,然后再创建Thread类的实例<spanstyle=”color:#333333″>ParameterizedThreadStartpts=newParameterizedThreadStart(方法名);Threadt=newThread(pts);</span><!–more–>

  • hdu 2648 Shopping

    hdu 2648 Shopping

  • 【其他记录】Office2019专业增强版与Visio2016不能共存的解决办法

    【其他记录】Office2019专业增强版与Visio2016不能共存的解决办法office2019的安装技术是即点即用,visio2016的安装技术是windowsinstaller。(我下载的是这样)本来是先安装好了office2019,接着安装visio2016,显示无法安装visio2016。原因是:即点即用和windowsinstaller的程序不能并存,一次只能安装一种类型。一种简单的解决办法是:把office2019和visio2016全部卸载干净,…

  • xshell如何激活_xftp6使用教程

    xshell如何激活_xftp6使用教程市面上连接服务器的客户端有很多,有免费的,也有收费的。有国产的也有非国产的。每个人使用的都不一样。很多也使用过,比如putty免费的,但是在我使用看来,使用一会就卡顿住了,最后就是需要重新连接,怎么用都不是很方便,最后还是的使用回来xshell和xftp。下面就来演示下如何安装xshell和xftp。首先是下载xshell和xftp的软件安装包。其实下载这个安装包是非常简单的,但是不简单的是如何下载一个真的能用的安装包。其次就是安装了。安装其实也是非常的简单的。下一步,下一步就可以完成.

  • 主、外键约束_创建主键约束

    主、外键约束_创建主键约束主、外键约束点关注不迷路,欢迎再来!主键和外键是两种类型的约束;1.主键是能唯一的标识表中的每一行,就是说这一列非空且值不重复,可以指定为主键;作用是用来强制约束表中的每一行数据的唯一性;2.外键是b表中的某一列引用的值来源于a表中的主键列。也是约束b表中的外键列的值必须取致a表中的主键列值,不是其中的值就不能插入b表中。可以形成a表b表的联系,保持数据的约束和关联性。创建主表主键…

    2022年10月20日

发表回复

您的电子邮箱地址不会被公开。

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