Heim  >  Artikel  >  Web-Frontend  >  Wie finde ich alle Indizes eines Elements in einem JavaScript-Array?

Wie finde ich alle Indizes eines Elements in einem JavaScript-Array?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 00:26:02285Durchsuche

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

So erhalten Sie Indizes von Elementvorkommen in einem Array

Das Identifizieren der Indizes aller Instanzen eines Elements innerhalb eines Arrays ist eine häufige Programmieraufgabe. In JavaScript bieten Arrays Methoden wie .indexOf() und .includes(), aber sie geben nur das erste oder letzte Vorkommen zurück. Um Indizes für alle Instanzen zu erhalten, ist ein anderer Ansatz erforderlich.

Verwendung einer Schleife und .indexOf()

Eine effektive Methode besteht darin, mit .indexOf() iterativ nach Elementvorkommen zu suchen. Die folgende Funktion demonstriert diesen Ansatz:

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

In dieser Funktion wird die .indexOf()-Methode wiederholt mit einem steigenden Startindex aufgerufen. Jedes Mal, wenn eine Instanz des angegebenen Werts gefunden wird, wird der entsprechende Index zum Index-Array hinzugefügt.

Verwenden einer Standard-For-Schleife

Eine weitere effiziente Methode ist eine einfache For-Schleife:

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

Diese for-Schleife durchläuft das Array und vergleicht jedes Element mit dem angegebenen Wert. Wenn eine Übereinstimmung gefunden wird, fügt die Schleife ihren Index dem Index-Array hinzu.

Beispielverwendung

Beide dieser Ansätze können verwendet werden, um die Indizes aller Vorkommen des Elements „Nano“ zu finden. im Array Cars:

<code class="js">var Cars = ["Nano", "Volvo", "BMW", "Nano", "VW", "Nano"];

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

Die Indexvariable enthält jetzt ein Array mit den Indizes aller Instanzen von „Nano“ im Cars-Array: [0, 3, 5].

Das obige ist der detaillierte Inhalt vonWie finde ich alle Indizes eines Elements in einem JavaScript-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn