Wir werden einige Methoden übersehen, die uns helfen, nach einem Element in einem Array zu suchen. Diese Methoden sind:
Um alle Methoden in diesem Tutorial zu testen, werden wir ein Array mit verschiedenen Elementen erstellen:
Array = ["Google", 13, 66, "Dies ist ein langer Satz", "Tisch und Stuhl"];Der .Include () Methode
Wenn Sie ein Array durchgehen möchten, um die Frage zu beantworten: „Gibt es dieses Element in diesem Array oder nicht?”Sie verwenden die .Include () Methode. Die Art und Weise, wie das .inklusive () Die Methode funktioniert, dass sie jedes Element im Array nach einer Übereinstimmung durchsucht und wenn es eine Übereinstimmung findet, die es zurückgibt WAHR Andernfalls wird falsch zurückgegeben.
Syntax von .Include () Methode
arr.inklusive (elem);Rückgabewert: Ein boolescher Wert
Beispiel
Jetzt, wo wir unser Array haben:
Versuchen wir zu finden, ob ein Element „Google“ darin enthalten ist, indem wir die folgende Codezeile verwenden:
Konsole.Protokoll (Array.enthält ("google"));Die Ausgabe ist:
Es kehrt zurück WAHR, was bedeutet, dass das Element, nach dem wir gesucht haben, tatsächlich im Array vorhanden ist.
Zeit zu überprüfen, ob die Nummer 23 in unserem Array vorhanden ist oder nicht. Wir können nach dem Befehl nach 23 suchen:
Konsole.log (arr.inklusive (23));Wir erhalten die Ausgabe:
Es gab falsch zurück, was bedeutet, dass im Array kein solches Element vorhanden ist.
Der .Indexof () Methode
Der Index von() Methode funktioniert ähnlich wie die inklusive () Methode, aber ein subtiler Unterschied zwischen diesen beiden Funktionen ist, dass die Index von() Die Methode durchsucht das Array nach dem gewünschten Element und gibt seinen Indexwert zurück, anstatt nur einen booleschen Wert zurückzugeben. Wenn im Array kein solches Element vorhanden ist, gibt es den Indexwert von zurück -1.
Syntax von .Indexof () Methode
Die Syntax der .Index von() Methode ist ziemlich einfach. Es ist:
Rückgabewert: Index des Elements im Array.
Beispiel
Das Array nehmen: erklärt:
Wir werden diese Funktion testen, indem wir versuchen, das Element „Tabelle und Stuhl“ mit dem folgenden Befehl zu finden:
Konsole.Protokoll (Array.indexof ("Tabelle und Stuhl"));Die Ausgabe ist:
Die Ausgabe ist 4, da das Element „Tabelle und Stuhl“ das fünfte Element im Array war und wir wissen, dass das erste Element im Array mit dem Index „0“ beginnt. Deshalb hat das 5. Element den Index 4.
Nehmen wir ein weiteres Beispiel, in dem wir versuchen werden, den Index des Elements „Yahoo“ in unserem Array zu finden.
Konsole.Protokoll (Array.indexof ("yahoo"));Wir erhalten die folgende Ausgabe:
Wie wir sehen können, ist die Ausgabe -1, was bedeutet, dass das Element „Yahoo“ in unserem Array nicht vorhanden ist.
Der .find () Methode
Der .finden() Die Methode nimmt eine Rückruffunktion auf und iteriert das gesamte Array, um das erste Element zu finden und zurückzugeben, das eine bestimmte Bedingung in der Rückruffunktion erfüllt.
Syntax von .find () Methode
Die Syntax von .finden() Funktion ist:
Diese Methode hat einige Parameter:
Die Rückruffunktion erfordert weiter drei Argumente:
Rückgabewert: Das Element, das die Bedingung ansonsten übergibt nicht definiert.
Beispiel
Versuchen wir, ein Element in dem Array zu finden, das über den folgenden Befehl eine Länge von mehr als 10 hat:
Wir erhalten die folgende Ausgabe:
Das erste Element, das eine Länge mehr als 10 hat, wurde gedruckt, obwohl es in dem Array noch ein weiteres Element gab.
Lassen Sie uns dies eine Sache machen, die den Zustand von mehr als 10 auf mehr als 30 ändert. Wir wissen, dass wir in unserem Array kein Element haben, das eine Länge von mehr als 30 hat.
Verwenden Sie den folgenden Befehl:
Konsole.Protokoll (Array.find (elem => elem.Länge> 30));Die Ausgabe, die wir erhalten, ist:
Wie wir bereits wussten, hatten wir kein Element mit einer Länge von mehr als 30, daher kehrte die Funktion mit „undefinierter“ zu uns zurück.
Der .filter () Methode
Wie wir jetzt wissen, dass die .finden() Die Methode findet nur das erste Element, das eine bestimmte Bedingung erfüllt und dann aufhört, auszuführen. Aber meistens wollen Sie das nicht, Sie möchten eine Liste aller Elemente, die diesen spezifischen Zustand erfüllen. Deshalb benutzen wir die .Filter() Methode.
Der .Filter() Methode durchsucht das Array nach und gibt ein Array aller Elemente zurück, die eine bestimmte Bedingung erfüllen.
Syntax der Filter () -Methode
Die Syntax der filter () -Methode ist dem ziemlich ähnlich wie bei der .find () Methode. Es ist wie:
Erklären wir seine Parameter sehr kurz.
Die Rückruffunktion erfordert weiter drei Argumente:
Rückgabewert: Ein Array, das alle Elemente enthält, die die Bedingung übergeben haben, ansonsten ein leeres Array.
Beispiel
Nehmen wir das Beispiel aus der vorherigen Methode, um das Array auf die Elemente zu überprüfen, die eine Länge von mehr als 10 haben, indem Sie den Befehl verwenden:
Die Ausgabe des Befehls ist wie:
Wie Sie sehen können, hat diese Methode ein Array aller Elemente zurückgegeben, die unseren Zustand erfüllten. Aber was wäre, wenn wir, genau wie die Beispiele in der vorherigen Methode, nach den Elementen mit einer Länge von mehr als 30 suchen möchten?. Nun, wir tun dies mit der folgenden Aussage:
Konsole.Protokoll (Array.filter ((elem) => elem.Länge> 30));Die Ausgabe, die wir erhalten, ist:
Da es nicht einmal ein einzelnes Element in dem Array gab, das eine Länge von mehr als 30 hatte.
Letztendlich sind wir uns jetzt nach Verwendung der folgenden Methoden einige Antworten bewusst:
Abschluss
Der Umgang mit Daten, die in Arrays gespeichert sind. Wir können ein Array mit den vier Schlüsselmethoden in JavaScript durchsuchen. Diese Methoden sind nämlich Include (), find (), indexof (), filter (). Wir haben die Syntax dieser Methoden, ihre Rückgabewerte zusammen mit ihren Beispielen gelernt.