当前位置:网站首页>JS to determine whether an element exists in the array (four methods)

JS to determine whether an element exists in the array (four methods)

2022-07-05 13:14:00 Yan Shuangying

Law 1 : utilize indexOf 
There is no return -1, There is an index that returns the first occurrence

      // js Check whether the array contains an element
      // Law 1 indexOf
      var arr = [100,20,50,58,6,69,36,45,78,66,45]
      if(arr.indexOf(66)==-1){
            console.log(" non-existent ")
      }else{
            console.log(" There is , The index is :",arr.indexOf(66))
      }


  Law two : utilize find
Its argument is a callback function , All array elements traverse the callback function in turn , Until you find out that the first return value is true The elements of , Then return the element , Otherwise return to 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(" There is ",index)    
            }
      })
      console.log(param)
lookup 45,find Will find out all that exists 45 And index

  Law three : utilize some
some Methods are also used to detect whether there are elements that meet the conditions , If there is , Do not continue to retrieve the following elements , Go straight back to true, If it doesn't fit , Returns a false.

Usage and find be similar , It's just find Is to return the element that meets the condition ,some Back to a Boolean value , In terms of semantics , Whether to include the return Boolean value is more appropriate .

      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)


Law four :includes 
ES6 New array method , Used to detect whether the array contains an element , If include return true, Otherwise return to false, What's more powerful is , It can be detected directly NaN:

advantage Not to mention , There is no one in the simplest way , No callback , No complicated writing , One way to do it directly .

shortcoming It is not very friendly to support low version browsers

      let arr = [100,20,50,58,6,69,36,45,78,66,45,NaN]
      // Law four
      let flag = arr.includes(1100)
      let flag1 = arr.includes(NaN)
 
      console.log(flag,flag1)


  Recommended includes() Method , Convenient and quick , One step in place ~

原网站

版权声明
本文为[Yan Shuangying]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207051256387330.html