Vier verschiedene Möglichkeiten, ein Array in JavaScript zu durchsuchen

In JavaScript gibt es verschiedene Methoden, mit denen Sie nach einem Element in einem Array suchen können. Welche Methode Sie wählen, hängt von Ihrem spezifischen Anwendungsfall ab.

Möchten Sie beispielsweise alle Elemente in einem Array abrufen, die eine bestimmte Bedingung erfüllen? Möchten Sie überprüfen, ob ein Artikel die Bedingung erfüllt? Möchten Sie überprüfen, ob sich ein bestimmter Wert im Array befindet? Oder möchten Sie den Index des Werts im Array finden?

Für all diese Anwendungsfälle haben Sie die Array.prototype-Methoden von JavaScript behandelt. In diesem Artikel werden vier Methoden erläutert, mit denen wir nach einem Element in einem Array suchen können. Diese Methoden sind:

  1. Filter
  2. Finden
  3. Beinhaltet
  4. Index von

Lassen Sie uns jeden von ihnen diskutieren.

Array.filter ()

Wir können die Array.filter () -Methode verwenden, um Elemente in einem Array zu finden, die eine bestimmte Bedingung erfüllen. Wenn wir beispielsweise alle Elemente in einem Array von Zahlen erhalten möchten, die größer als 10 sind, können wir Folgendes tun:

const array = [10, 11, 3, 20, 5]; const greaterThanTen = array.filter(element => element > 10); console.log(greaterThanTen) //[11, 20]

Die Syntax für die Verwendung der Methode array.filter () lautet wie folgt:

let newArray = array.filter(callback);

wo

  • newArray ist das neue Array, das zurückgegeben wird
  • array ist das Array, auf dem die Filtermethode aufgerufen wird
  • callback ist die Rückruffunktion, die auf jedes Element des Arrays angewendet wird

Wenn kein Element im Array die Bedingung erfüllt, wird ein leeres Array zurückgegeben. Weitere Informationen zu dieser Methode finden Sie hier.

Es gibt Zeiten, in denen wir nicht alle Elemente benötigen, die eine bestimmte Bedingung erfüllen. Wir brauchen nur ein Element, das der Bedingung entspricht. In diesem Fall benötigen Sie die find () -Methode.

Array.find ()

Wir verwenden die Array.find () -Methode, um das erste Element zu finden, das eine bestimmte Bedingung erfüllt. Genau wie bei der Filtermethode wird ein Rückruf als Argument verwendet und das erste Element zurückgegeben, das die Rückrufbedingung erfüllt.

Verwenden wir in unserem obigen Beispiel die Methode find für das Array.

const array = [10, 11, 3, 20, 5]; const greaterThanTen = array.find(element => element > 10); console.log(greaterThanTen)//11

Die Syntax für array.find () lautet

let element = array.find(callback);

Der Rückruf ist die Funktion, die für jeden Wert im Array ausgeführt wird und drei Argumente akzeptiert:

  • element - das Element, auf dem iteriert wird (erforderlich)
  • index - der Index / die Position des aktuellen Elements (optional)
  • array- das findaufgerufene Array (optional)

Beachten Sie jedoch, dass wenn kein Element im Array die Bedingung erfüllt, es zurückgegeben wird undefined.

Was ist, wenn Sie überprüfen möchten, ob sich ein bestimmtes Element in einem Array befindet? Wie machst Du das?

Array.includes ()

Die Methode include () bestimmt, ob ein Array einen bestimmten Wert enthält, und gibt je nach Bedarf true oder false zurück.

Wenn wir im obigen Beispiel überprüfen möchten, ob 20 eines der Elemente im Array ist, können wir Folgendes tun:

const array = [10, 11, 3, 20, 5]; const includesTwenty = array.includes(20); console.log(includesTwenty)//true

Sie werden einen Unterschied zwischen dieser Methode und anderen Methoden feststellen, die wir in Betracht gezogen haben. Diese Methode akzeptiert einen Wert anstelle eines Rückrufs als Argument. Hier ist die Syntax für die Includes-Methode:

const includesValue = array.includes(valueToFind, fromIndex)

Wo

  • valueToFind ist der Wert, nach dem Sie im Array suchen (erforderlich), und
  • fromIndex ist der Index oder die Position im Array, von dem aus Sie nach dem Element suchen möchten (optional).

Um das Konzept des Index zu erhalten, besuchen wir noch einmal unser Beispiel. Wenn wir überprüfen möchten, ob das Array neben dem ersten Element 10 an anderen Positionen enthält, können wir dies tun:

const array = [10, 11, 3, 20, 5]; const includesTenTwice = array.includes(10, 1); console.log(includesTenTwice)//false

Array.indexOf ()

Die Methode indexOf () gibt den ersten Index zurück, an dem ein bestimmtes Element in einem Array gefunden werden kann. Es gibt -1 zurück, wenn das Element nicht im Array vorhanden ist.

Kehren wir zu unserem Beispiel zurück. Lassen Sie uns den Index 3 im Array finden.

const array = [10, 11, 3, 20, 5]; const indexOfThree = array.indexOf(3); console.log(indexOfThree)//2

Die Syntax ähnelt der der includesMethode.

const indexOfElement = array.indexOf(element, fromIndex)

Wo

  • element ist das Element, nach dem Sie im Array suchen (erforderlich), und
  • fromIndex ist der Index oder die Position im Array, von dem aus Sie nach dem Element suchen möchten (optional).

Es ist wichtig zu beachten, dass sowohl die includesals auch die indexOfMethode die strikte Gleichheit ('===') verwenden, um das Array zu durchsuchen. Wenn die Werte von verschiedenen Typen sind (zum Beispiel ‚4‘ und 4), werden sie zurückkehren falseund -1jeweils.

Zusammenfassung

Mit diesen Array-Methoden müssen Sie keine for-Schleife verwenden, um ein Array zu durchsuchen. Je nachdem, was Sie benötigen, können Sie entscheiden, welche der Methoden für Ihren Anwendungsfall am besten geeignet ist.

Hier ist eine Zusammenfassung, wann jede Methode verwendet werden soll:

  • Verwenden filterSie diese Option, wenn Sie alle Elemente in einem Array suchen möchten, die eine bestimmte Bedingung erfüllen.
  • Verwenden findSie diese Option, wenn Sie überprüfen möchten, ob mindestens ein Artikel eine bestimmte Bedingung erfüllt.
  • Verwenden includesSie diese Option, wenn Sie überprüfen möchten, ob ein Array einen bestimmten Wert enthält.
  • Verwenden indexOfSie diese Option, wenn Sie den Index eines bestimmten Elements in einem Array suchen möchten.

Möchten Sie benachrichtigt werden, wenn ich einen neuen Artikel veröffentliche? Hier klicken.