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)
上一篇 2022年10月19日 上午11:46
下一篇 2022年10月19日 下午12:00


相关推荐

  • MySQL–基于Xtrabackup+Shell+Crond实现的数据库(全量+增量)热备份方案

    MySQL–基于Xtrabackup+Shell+Crond实现的数据库(全量+增量)热备份方案学习背景不管你是正在上学 还是已经工作了 想必多多少少都听说过删库跑路 rm rf 的情况 主要指的就是被有意或无意的删除掉了数据库的数据 而数据是整个业务最重要的价值体现 如果你的公司或者项目组没有一个成熟的数据库数据备份方案 一旦发生意外 我只能说年轻人 大意了吧 没有备份数据库 一 Xtrabackup 介绍官方介绍文档简单总结下来就是 XtraBackup 是 Percona 旗下的一款产品 支持 MySQL 数据库的热备份 在线不停机 并且是免费 开源 适用所有 MySQL 版本 非阻塞 紧密

    2026年3月19日
    2
  • rsync文件实时同步命令_sshcopyid命令详解

    rsync文件实时同步命令_sshcopyid命令详解简介  最近有一个比较特殊的需求需要实现,某个服务提供文件上传服务。但是要解决单点问题,所以会程序会部署在多台服务器上。但是也会随之带来一个和共享cookie的问题,那就是文件存储也应该共享的.其实大部分同学想到的,第一个肯定是使用NFS来解决。大家通过NFSmount到同一个目录即可实现.但是为什么我们没有选择这个解决方案呢?那是因为之前不知道是我们使用不当还是NFS自身存在问题,出现了几次事故,NFSServer端卡死,导致整个NFS的client端由于使用硬挂载的方式一

    2022年10月13日
    3
  • python装饰器(详解)

    python装饰器(详解)大家好 我是 J 哥 今天我们介绍一下 python 中的装饰器首先我们要了解什么是装饰器 1 什么是装饰器器指的是工具 可以定义成成函数装饰指的是为其他事物添加额外的东西点缀合到一起的解释 装饰器指的定义一个函数 该函数是用来为其他函数添加额外的功能就是拓展原来函数功能的一种函数 2 为何要用装饰器开放封闭原则开放 指的是对拓展功能是开放的封闭 指的是对修改源代码是封闭的装饰器就是在不修改被装饰器对象源代码以及调用方式的前提下为被装饰对象添加新功能 3 如何用 需求

    2026年3月19日
    3
  • VS下使用多字符集编码和Unicode字符集编码的总结

    VS下使用多字符集编码和Unicode字符集编码的总结编写 MFC 程序的时候 总遇到字符集转换的问题 这里总结一下 方便大家使用 在多字节字符集编码下 设置如下环境 这时 CString 与 char 数组是可以互相转换的 而如果改成 使用 Unicode 字符集 设置如下 原来的代码就会报很多错误 诸如 errorC2664 Cxxxxx ConvertStrin 不能将参数 1 从 wchar t 转换为 char

    2026年1月15日
    2
  • WLAN与WIFI的区别[通俗易懂]

    WLAN与WIFI的区别[通俗易懂]WLAN与WIFI的区别WLAN简介:WLAN全称为:WirelessLocalAreaNetworks,中文解释为:无线局域网络,是一种利用射频(RadioFrequencyRF)技术进行据传输的系统,该技术的出现绝不是用来取代有线局域网络,而是用来弥补有线局域网络之不足,以达到网络延伸之目的,使得无线局域网络能利用简单的存取架构让用户透过它,实现无网线、无距离限制的通畅网络。

    2022年7月27日
    11
  • mysql卸载教程5.5_centos卸载mysql

    mysql卸载教程5.5_centos卸载mysql完整卸载MySQL数据库1、关掉mysql服务直接搜索服务或者右键“我的电脑”,选择“管理”,打开计算机管理,选择“服务”右键MySQL服务,选择“停止”2、卸载mysql程序开始菜单->控制面板->程序和功能3、删除计算机上的残留文件(1)删除C盘-》programData->mysql文件夹,programData文件夹为隐藏文件夹//这一步很重要(2)删除mysql的安装目录4、删除注册表信息往往我们进行完上面的两个步骤,我们计算机上的mysql就已

    2022年9月30日
    6

发表回复

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

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