Js判断数组中是否存在某个元素「建议收藏」

Js判断数组中是否存在某个元素「建议收藏」方法一:indexOf(item,start);Item:要查找的值;start:可选的整数参数,缺省则从起始位子开始查找。indexOf();返回元素在数组中的位置,如果没有则返回-1;例子:vararr=[‘aaa’,’bbb’,’ccc’,’ddd’,’eee’];  vara=arr.indexOf(‘ddd’);  console.log(a);  //3  varb=arr.indexOf(‘d’);  console.log(b);  //-1  我通常的用法:if(

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

Jetbrains全系列IDE稳定放心使用

方法一:indexOf(item,start);

Item:要查找的值;start:可选的整数参数,缺省则从起始位子开始查找。
indexOf();返回元素在数组中的位置,如果没有则返回-1;

例子:var arr=['aaa','bbb','ccc','ddd','eee'];
  var a=arr.indexOf('ddd');
  console.log(a);   //3
  var b=arr.indexOf('d');
  console.log(b);  //-1
  我通常的用法:if(arr.indexOf(要查找的元素)>-1){ 
   元素存在的操作};
  indexOf()无法查找NaN

方法二:arr.find();

Arr.find()的参数是一个回调函数,数组所有元素会遍历这个回调函数,直到找到第一个返回值为true的元素,然后返回该元素否则返回undefined;

var arr=['aaa','bbb','ccc','ddd','eee'];
  var a=arr.find(function(value,index,arr){ 
   
    return value=='bbb';
  })
  console.log(a);  //bbb,这里返回的不是true,而是返回值为true的这个元素;
  我通常的用法:
  arr.find(function(value){ 
   
    If(value==要查找的值){ 
   
      //所做的操作
    }
  })

方法三:array.findIndex();

findIndex()和find()的用法相似,find()返回的是元素,findIndex返回的是元素的位置。findIndex();返回第一个符合条件的数组元素的位置,如果所有元素都不符合条件则返回-1;findIndex(),数组中的每一个元素都会调用一次函数,但是当条件返回true时,findIndex()返回符合条件的元素的位置,之后的值不会再调用执行函数。

 var arr=['aaa','bbb','ccc','ddd','eee'];
  var a=arr.find(function(value,index,arr){ 
   
    return value=='bbb';
  })
  console.log(a);//1,后面的值不会再调用函数。
  说明:findIndex()和find()可以用来查找NaN;
  var arr=['1','2','3',NaN];
  var a=arr.find(function(value){ 
   
    return isNaN(value);
  })
  console.log(a);       //NaN

方法四:for()或forEach()

循环遍历,然后用if判断

方法五:使用jquery的inArray方法

该方法返回元素在数组中的下标,如果不存在与数组中,那么返回-1;

 var arr=['aaa','bbb','ccc','ddd','eee'];
  var a= $.inArray('bbb',arr);
  console.log(a);    //1

转至博客:https://www.cnblogs.com/minxl/p/10115040.html

这里是一个真诚的***青年技术交流QQ群:761374713***,不管你是大学生、社畜、想学习变成的其他人员,欢迎大家加入我们,一起成长,一起进步,真诚的欢迎你,不管是技术,还是人生,还是学习方法。有道无术,术亦可求,有术无道,止于术。在这里插入图片描述

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

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

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


相关推荐

  • 读《aspnetmvc-stepbystep》笔记

    读《aspnetmvc-stepbystep》笔记  读《aspnetmvc-stepbystep》笔记  这几天读了《aspnetmvc-stepbystep》,为了以后不忘记这次遇到的问题,以及此书中的一些重点观点或者主要内容,就做了一个大概的笔记。  学习软件平台:vs2008、vs2008sp1、mvc1.0rc21、传统的Web框架,如ASP/PHP/ASP.NETWebForms等等,请求的U…

    2022年9月29日
    2
  • hi3516dv300芯片手册_hi3518ev300

    hi3516dv300芯片手册_hi3518ev300基于Hi3516DV300的嵌入式入门演练(上)基于Hi3516DV300的嵌入式入门演练(下)文章目录信息5常见外设操作5.1USB无线网卡5.1.1在内核中开启驱动支持5.1.2准备驱动需使用到的固件文件5.1.3使用wpa_supplicant连接到热点5.1.4使用hostapd将网卡作为AP5.2TF卡的挂载5.2.1手动挂载5.2.2使用mdev自动挂载设备5.2.3使用udev自动挂载设备6扩展演练6.1使用Buildroot构建根文件系统6.2理解设备树6.3

    2022年9月24日
    3
  • qt 获取窗口句柄「建议收藏」

    qt 获取窗口句柄「建议收藏」HWNDappwnd;appwnd=(HWND)w.winId();QStringClassName(“Qt5QWindowIcon”);QStringAppName=QStringLiteral(“GG”);LPCWSTRapp=reinterpret_cast(ClassName.data());LPCWSTRappCaption=reinterpret_

    2022年7月21日
    154
  • 张小龙-年薪近3亿的微信之父,他是如何做到的?

    张小龙-年薪近3亿的微信之父,他是如何做到的?张小龙生于湖南邵东魏家桥镇,家庭主要特点:穷。不仅自己穷,亲戚也都很穷,可以说穷以类聚。爷爷做过铜匠,总的来说,标准的劳动阶级出身。家有兄弟两人,一个小龙,一个小虎。小虎好动,与邻里打成一片,小龙好静,喜好读书。“文静的像个妹子。”张小龙的表哥如是说。穷文富武,做个读书郎是个不错的选择。87年至94年,华中科技大学本硕连读。本科就读电信系,不喜欢上课…

    2022年6月7日
    44
  • 如何设计三极管控制继电器电路[通俗易懂]

    如何设计三极管控制继电器电路[通俗易懂]在用三极管驱动继电器的时候,不管是NPN还是PNP,都要把继电器接在三极管的集电极,而不会接在发射极上。一般初学者都会容易碰到这个问题,下面和大家分析一下这个问题。

    2022年6月24日
    26
  • JS 对象(Object)和字符串(String)互转[通俗易懂]

    JS 对象(Object)和字符串(String)互转[通俗易懂]利用原生JSON对象,将对象转为字符串varjsObj={};jsObj.testArray=[1,2,3,4,5];jsObj.name=’CSS3′;jsObj.date=’8May,2011′;varstr=JSON.stringify(jsObj);alert(str);从JSON字符串转为对象varjsObj={};jsObj.t

    2022年5月27日
    30

发表回复

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

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