前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Js判断数组中是否存在某个元素「建议收藏」

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

作者头像
全栈程序员站长
发布2022-11-02 16:47:52
6K0
发布2022-11-02 16:47:52
举报
方法一:indexOf(item,start);

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

代码语言:javascript
复制
例子: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;

代码语言:javascript
复制
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()返回符合条件的元素的位置,之后的值不会再调用执行函数。

代码语言:javascript
复制
 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;

代码语言:javascript
复制
 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.cn/180293.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一:indexOf(item,start);
  • 方法二:arr.find();
  • 方法三:array.findIndex();
  • 方法四:for()或forEach()
  • 方法五:使用jquery的inArray方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档