首頁  >  文章  >  web前端  >  javascript數組怎麼判斷是否存在某元素

javascript數組怎麼判斷是否存在某元素

青灯夜游
青灯夜游原創
2021-04-27 17:05:5816459瀏覽

判斷方法:1、使用indexOf()方法,語法「arr.indexOf(要找的值)」;2、使用「arr.find()」方法;3、使用「array.findIndex( )」方法;4、使用「$.inArray('要找的值',arr)」方法。

javascript數組怎麼判斷是否存在某元素

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

Js判斷陣列中是否存在某個元素

#方法一: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

方法四:

#使用jquery的inArray方法,此方法傳回數組在數組中的下標,如果不存在與數組中,那麼返回-1;

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

【推薦學習:javascript高級教程

以上是javascript數組怎麼判斷是否存在某元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn