ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript 配列内で出現する要素をすべて見つけるにはどうすればよいですか?

JavaScript 配列内で出現する要素をすべて見つけるにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-30 02:56:28450ブラウズ

How to Find All Occurrences of an Element in a JavaScript Array?

配列内の要素出現のインデックスを取得

JavaScript 配列内で「Nano」などの要素の複数のインスタンスの位置を特定しようとする場合、メソッドjQuery.inArray や .indexOf() などは、最後の出現箇所を識別するだけなので不十分です。

var Cars = ["Nano", "Volvo", "BMW", "Nano", "VW", "Nano"];

解決策は次のとおりです。

.indexOf() メソッドを使用すると、開始インデックスを指定できます。これにより、配列をループして、指定された値のすべてのインスタンスを特定することができます。

<code class="javascript">function getAllIndexes(arr, val) {
  var indexes = [],
    i = -1;
  while ((i = arr.indexOf(val, i + 1)) != -1) {
    indexes.push(i);
  }
  return indexes;
}

var indexes = getAllIndexes(Cars, "Nano");</code>

ただし、VisioN がコメントで指摘したように、単純な for ループの方がより効率的で簡潔なソリューションを提供します。

<code class="javascript">function getAllIndexes(arr, val) {
  var indexes = [],
    i;
  for (i = 0; i < arr.length; i++) {
    if (arr[i] === val) {
      indexes.push(i);
    }
  }
  return indexes;
}</code>

以上がJavaScript 配列内で出現する要素をすべて見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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