Verwendung von .forEach() zu iterieren über Elemente in JavaScript
-
Verwenden Sie
.forEach()
, um eine Funktion für jedes Element in einem Array in JavaScript auszuführen - Führen Sie Überprüfungen für jedes Element durch, um die Ausführung zu unterbrechen, wenn bestimmte Bedingungen in JavaScript nicht erfüllt sind
Iteration ist eines der mächtigsten Werkzeuge im Arsenal jedes Programmierers, weshalb die meisten Sprachen eine Vielzahl von Methoden haben, die mit verschiedenen Arten von Logikschleifen verbunden sind.
JavaScript verfügt über eine Vielzahl solcher Methoden, je nachdem, was Sie erreichen möchten. In diesem Fall ist die .forEach()
-Methode etwas leistungsfähiger als eine einfache for
-Schleife, vor allem, weil Sie damit eine bestimmte Funktion für jedes Element ausführen können, über das Sie iterieren.
Zugegeben, man kann das Gleiche auch mit einer regulären Schleife erreichen, wenn man den gewünschten Funktionsaufruf irgendwo innerhalb der Schleife verschachtelt, aber .forEach()
vereinfacht den Code ziemlich. Darüber hinaus ist es später möglicherweise etwas einfacher zu warten und verbessert auch die Lesbarkeit.
Für den Anfang, hier ist, wie .forEach()
in Ihrem Code verwendet werden kann:
Verwenden Sie .forEach()
, um eine Funktion für jedes Element in einem Array in JavaScript auszuführen
Der einfachste Weg, die Nützlichkeit von .forEach()
zu demonstrieren, besteht darin, es in Aktion zu sehen, wenn über ein Array von Elementen iteriert wird.
const myArray = ['element1', 'element2', 'element3'];
myArray.forEach(element => console.log(element));
Ausgabe:
"element1"
"element2"
"element3"
Das obige Beispiel verwendet die Pfeilnotation, aber das ist nicht die einzige Option. Dasselbe Ergebnis kann mit einer Inline-Callback-Funktion wie folgt erzielt werden:
const myArray = ['element1', 'element2', 'element3'];
myArray.forEach(function(element) {
console.log(element);
})
Ausgabe:
"element1"
"element2"
"element3"
Diese Methode ist etwas ausführlicher, was bedeutet, dass sie etwas mehr Boiler-Plating erfordert. Abgesehen davon ist Ausführlichkeit manchmal ein gutes Ziel, wenn Sie mit einem Team arbeiten und Ihren Code so einfach wie möglich gestalten möchten.
Führen Sie Überprüfungen für jedes Element durch, um die Ausführung zu unterbrechen, wenn bestimmte Bedingungen in JavaScript nicht erfüllt sind
Einige von Ihnen haben vielleicht schon bemerkt, dass beim Arbeiten mit .forEach()
immer für jedes Element im Array die zugehörige Funktion ausgeführt wird. Das ist nicht immer wünschenswert, insbesondere wenn die betreffende Funktion viel Rechenleistung benötigt und eine lange Ausführungszeit hat.
Für diese Fälle kann es sinnvoll sein, einige Bedingungen zu haben, die erfüllt sein müssen, damit die Funktion ausgeführt wird. Um dies zu erreichen, müssen Sie lediglich eine if
-Anweisung einführen und etwas zurückgeben, wenn die Bedingungen als falsch ausgewertet werden.
So würde das in Aktion aussehen:
const myArray = ['element1', 'element2', 'element3'];
myArray.forEach(function(element) {
if (element === 'element2') {
return;
} else {
console.log(element);
}
});
Ausgabe:
"element1"
"element3"
Wie Sie sehen können, überspringt die Funktion das Array-Element, das die von uns festgelegte Bedingung erfüllt. Die Iteration wird jedoch mit den folgenden Elementen im Array fortgesetzt, was dem erwarteten Verhalten entspricht.
Diese Methode wertet jedes Element im Array aus, bevor die zugehörige Funktion ausgeführt wird, da es Fälle geben kann, in denen Sie möglicherweise nicht möchten, dass die Funktion ausgeführt wird. Dadurch entfällt der Schritt des vorherigen Filterns des Arrays.