首页 > 其他分享 >判断值是否在数组内

判断值是否在数组内

时间:2023-04-26 23:46:27浏览次数:42  
标签:返回 arr 判断 console 66 是否 45 数组 log

法一:利用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))
  }
法二:利用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以及索引

法三:利用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)
法四: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)

标签:返回,arr,判断,console,66,是否,45,数组,log
From: https://www.cnblogs.com/shallow-dreamer/p/17357731.html

相关文章

  • 将数组改写成树结构
    首先创建了一个空的根节点root,并将它的名称设置为空字符串,它的子节点数组设置为空数组。然后遍历整个数组,对于每个元素,在树形结构中创建对应的节点。遍历每个元素的名称,并通过比较父节点和子节点的名称来连接它们。如果节点不存在,则创建一个新节点并将它添加到父节点的子节点数组......
  • 2022-04-26:给定一个数组componets,长度为A, componets[i] = j,代表i类型的任务需要耗时j
    2022-04-26:给定一个数组componets,长度为A,componets[i]=j,代表i类型的任务需要耗时j给定一个二维数组orders,长度为M,orders[i][0]代表i号订单下单时间orders[i][1]代表i号订单是哪种类型的任务,毫无疑问orders[i][1]<A一开始所有流水线都在0时刻待命,给定一个正数nums,表示流水......
  • leetcode-350-两个数组的交集 II 题解
    题目给定两个数组,编写一个函数来计算它们的交集。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2,2]示例2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。我们可以不考虑输出结果......
  • 关于超级App,你是否了解过?
    Superapp(“超级App”)最近甚嚣尘上,甚至在香港科技周专门组织了一个围绕superapp的圆桌论坛,很可能是这个概念出现以来,首次在金融行业的严肃讨论。怎么国内市场“司空见惯”的超级App,成了Gartner的2023年十大战略技术趋势预测中的一种。超级App是指一种综合性的应用程序,允许用户在同一......
  • 不允许你还不会秒想到怎样精准判断数据类型!!!
    提到数据类型,会想到基本数据类型和引用数据类型,那么你怎么判断?一、typeof【语法:typeof+变量名】        大多数人首先想到的一定是这个,但注意了,typeof判断基本数据类型很好用,但是有一个特例,(Null)打印出来也和复杂数据类型一样显示object,除此之外,需要注意:用typeof检测构造函......
  • #yyds干货盘点# LeetCode面试题:合并两个有序数组
    1.简述:给你两个按非递减顺序排列的整数数组 nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1......
  • go:函数高级、包的使用、if-else、循环、switch、数组
    目录一、函数高级二、包的使用三、if-else四、循环五、switch六、数组七、作业python实现链表一、函数高级1、函数的参数和返回值都是类型的一部分,函数可以赋值给一个变量,有两种情况:test3函数,接收一个参,参数是函数类型:没有参数没有返回值test3有返回值,返回值是个函数:函数......
  • 力扣---1031. 两个非重叠子数组的最大和
    给你一个整数数组nums和两个整数firstLen和secondLen,请你找出并返回两个非重叠子数组中元素的最大和,长度分别为firstLen和secondLen。长度为firstLen的子数组可以出现在长为secondLen的子数组之前或之后,但二者必须是不重叠的。子数组是数组的一个连续部分。 ......
  • 每日打卡一维数组和二维数组传参的几种方式
    //一组数组传参//#include<stdio.h> //voidInputArray(intn[],inta);//voidOutputArray(intn[],inta);//intmain()//{// intm[3];// InputArray(m,3);// OutputArray(m,3);// return0;//}//voidInputArray(intm[],intn)//{// for(inti=0;i<n;i++)......
  • awk判断整除(包含小数和负数)
    awk判断整除常用的方法是用内置的int或者求余数的算符%被整数整除输出0-100之间能被9整除的整数使用num/9==int(num/9)的判断方法可以很好实现。awk'BEGIN{for(i=0;i<100;i++){if(i/9==int(i/9))printi}}'|cat或者使用num%9==0也可以轻松实现......