ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScript 配列は、次のものが含まれるかどうかを決定します。

JavaScript 配列は、次のものが含まれるかどうかを決定します。

WBOY
WBOYオリジナル
2023-05-16 11:02:071833ブラウズ

JavaScript における配列は、複数の値を格納でき、さまざまな配列メソッドを使用して操作できる非常に一般的なデータ構造です。実際の開発では、配列に特定の値が含まれているかどうかを調べることがよくありますが、今回はJavaScriptで配列に特定の値が含まれているかどうかを判定する方法を紹介します。

方法 1:indexOf() 関数を使用する

indexOf() 関数は、JavaScript 配列によって提供される組み込み関数であり、特定の値の位置を検索するために使用できます。配列内で。値が検索されると、関数は配列内の値のインデックス位置を返します。値が配列にない場合は、-1 が返されます。

したがって、indexOf() 関数を使用して、配列に特定の値が含まれているかどうかを判断できます。具体的な実装は次のとおりです。

let arr = [1, 2, 3, 4, 5];
let target = 3;
if (arr.indexOf(target) !== -1) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

上記のコードでは、配列 arr に値 3 の要素が含まれている場合、「配列には 3 が含まれています」が出力され、それ以外の場合は「配列には 3 が含まれていません」が出力されます。が出力されます。

indexOf() 関数によって返されるインデックス値は 0 から始まることに注意してください。したがって、indexOf() 関数を使用する場合、関数に要素が含まれているかどうかを判断する必要がある場合は、それが -1 に等しいかどうかを判断する必要があります。また、この関数を使用する場合は、データ型の一致に注意する必要があり、文字列を検索する場合は、次のコードに示すように、厳密等価演算子 (===) を使用する必要があります。

let arr = ["apple", "banana", "orange"];
let target = "banana";
if (arr.indexOf(target) !== -1) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

上記のコードでは、配列の内容を文字列に変更しており、検索対象も文字列となっています。判定時に「==」演算子を使用すると、誤った結果が得られます。

方法 2: include() 関数を使用する

includes() 関数は、JavaScript 配列によって提供される別の組み込み関数であり、配列に特定の要素が含まれているかどうかを判断するために使用できます。 。 include() 関数の戻り値はブール値で、要素が配列に含まれている場合は true を返し、それ以外の場合は false を返します。

includes() 関数を使用すると、配列に特定の値が含まれているかどうかを判断できます。具体的な実装は次のとおりです。

let arr = [1, 2, 3, 4, 5];
let target = 3;
if (arr.includes(target)) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

上記のコードでは、配列 arr に値 3 の要素が含まれている場合、「配列には 3 が含まれています」が出力され、それ以外の場合は「配列には 3 が含まれていません」が出力されます。が出力されます。

includes() 関数の戻り値は true または false であり、配列内の要素のインデックス値は返されないことに注意してください。また、この関数を使用する場合は、データ型の一致に注意する必要があり、文字列を検索する場合は、次のコードに示すように、厳密等価演算子 (===) を使用する必要があります。

let arr = ["apple", "banana", "orange"];
let target = "banana";
if (arr.includes(target)) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

方法 3: ES6 find() 関数を使用する

ES6 では、JavaScript 配列に新しい関数 find() が用意されており、これを使用して、特定の条件を満たす配列内の要素を検索できます。 find() 関数のパラメータはコールバック関数であり、要素値、要素インデックス、配列自体の 3 つのパラメータを受け入れることができます。コールバック関数はブール値を返す必要があります。これが true の場合、条件を満たす要素が見つかったことを意味し、find() 関数はその要素を返します。コールバック関数が false を返した場合は、検索を続行します。

find() 関数を使用すると、配列に特定の値が含まれているかどうかを判断できます。具体的な実装は次のとおりです。

let arr = [1, 2, 3, 4, 5];
let target = 3;
if (arr.find(item => item === target)) {
  console.log("数组包含" + target);
} else {
  console.log("数组不包含" + target);
}

上記のコードでは、アロー関数を使用してコールバック関数を実装しています。アロー関数のパラメータは item で、コード item === target はターゲット要素が見つかったかどうかを示します。配列 arr に値 3 の要素が含まれている場合は、「配列に 3 が含まれている」と出力され、それ以外の場合は「配列に 3 が含まれていない」と出力されます。

find() 関数は見つかった要素を返しますが、見つからなかった場合は未定義を返すことに注意してください。また、この関数を使用する場合、コールバック関数の構文に注意する必要があり、コールバック関数が返さない場合、または false を返す場合、最初の未定義要素が検索され、誤った結果が得られる可能性があります。

概要

上記では、JavaScript 配列に特定の値が含まれているかどうかを判断するための 3 つのメソッド、indexOf() 関数、includes() 関数、および ES6 find() 関数を紹介しました。これら 3 つの方法にはそれぞれ長所と短所があり、実際の状況に応じて適切な方法を選択する必要があります。また、コールバック関数を使用する場合は、データ型の一致やコールバック関数の構文に注意する必要があります。

以上がJavaScript 配列は、次のものが含まれるかどうかを決定します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。