Js は配列に指定された要素が含まれているかどうかを判断します

メソッド 1: arr.indexOf (要素): 見つからない場合は、-1 を返します。
 if(arr.indexOf(某元素) > -1){
    
    //则包含该元素}

例:

 var fruits = ["Banana", "Orange", "Apple", "Mango"];
 var a = fruits.indexOf("Apple");  // 2
 //以上输出结果意味着 "Apple" 元素位于数组中下标为 2 的位置。

IndexOf() の完全な構文:
 array.indexOf(item,start)

 //参数:  item:必须。查找的元素。  start:可选的整数参数。规定在字符串中开始检索的位置。  它的合法取值是 0 到 stringObject.length - 1。  如省略该参数,则将从字符串的首字符开始检索。
例:

 var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
 var a = fruits.indexOf("Apple",4);  // 6

注: string.indexOf() は、文字列内で指定された文字列値が最初に出現する位置を返します。

  1. このメソッドは、文字列 stringObject を最初から最後まで取得して、部分文字列 searchvalue が含まれているかどうかを確認します。検索は、文字列の fromindex または文字列の先頭 (fromindex が指定されていない場合) から開始されます。searchvalue が見つかった場合は、searchvalue が最初に出現した位置が返されます。
  2. stringObject 内の文字位置は 0 から始まります。
  3. 文字列の最後の出現を検索するには、lastIndexOf() メソッドを使用します。
方法 2: arr.find()

配列インスタンスの find() は、基準を満たす最初の配列要素を検索するために使用されます。そのパラメータはコールバック関数であり、戻り値 true を持つ最初の要素が見つかるまで、すべての配列要素が順番にコールバック関数を通過し、その後その要素を返します。それ以外の場合は、未定義を返します。
find() メソッドは、配列内の要素ごとに関数の実行を 1 回呼び出します。

  • 条件のテスト時に配列内の要素が true を返した場合、find() は条件を満たす要素を返し、それ以降の値は実行関数を呼び出しません。
  • 適格な要素がない場合は unknown を返します
  • 注: find() 関数は空の配列に対しては実行されません。
  • 注: find() は配列の元の値を変更しません。
 [1, 5, 10, 15].find(function(value, index, arr) {
    
    
     return value > 9;
 }) // 10
 /**
 *使用方法
 */
 arr.find(function(value) {
    
    
     if(value === 要查找的值) {
    
    
         //则包含该元素
     }
 })
メソッド 3: array.findIndex()

array.findIndex() は array.find() と非常に似ており、条件を満たす最初の配列要素の位置を返します。すべての要素が条件を満たさない場合は -1 を返します。
findIndex() メソッドは、配列内の要素ごとに関数を 1 回呼び出します。
テスト条件が満たされたときに配列内の要素が true を返すと、findIndex() は条件を満たす要素のインデックス位置とその後の値を返します。関数は再び呼び出されません。条件を満たす要素がない場合は、-1 を返します。 注: 空の配列に対して findIndex() 関数は実行されません。
注: findIndex() は配列の元の値を変更しません。

[1,5,10,15].findIndex(function(value, index, arr) {
    
    
     return value > 9;
 }) // 2

説明:
 メソッド 2 とメソッド 3、どちらのメソッドも NaN を見つけることができ、メソッド 1 IndexOf() の欠陥を補います。

 [NaN].indexOf(NaN) 
 // -1
 
 [NaN].findIndex(y => Object.is(NaN, y))
 // 0
メソッド 4: for()

配列を走査し、判断した場合

 var arr = [1, 5, 10, 15];
 //传统for
 for(let i=0; i<arr.length; i++) {
    
    
     if(arr[i] === 查找值) {
    
    
         //则包含该元素
     }
 }
 // for...of
 for(v of arr) {
    
    
     if(v === 查找值) {
    
    
         //则包含该元素
     }
 }
 //forEach
 arr.forEach(v=>{
    
    
     if(v === 查找值) {
    
    
         //则包含该元素
     }
 })

おすすめ

転載: blog.csdn.net/qq_42697806/article/details/125423482