Die filter-Methode
Die Methode filter ermöglicht das Filtern
von Array-Elementen, wobei nur die Elemente übrig bleiben,
die einer bestimmten Bedingung entsprechen.
Die Methode erhält als Parameter eine Funktion, die
für jedes Element des Arrays ausgeführt wird.
Als Ergebnis gibt die Methode ein neues Array zurück,
in das nur die Elemente aufgenommen werden,
für die die übergebene Funktion true zurückgibt.
An die Funktion können drei Parameter übergeben werden. Wenn diese Parameter vorhanden sind (sie sind nicht obligatorisch), wird der erste automatisch das Element des Arrays, der zweite seine Position im Array (Index) und der dritte das Array selbst.
Syntax
let neuesArray = array.filter(function(element, index, array) {
Code
return true oder false
});
Beispiel
Lassen Sie uns ein Array filtern, indem wir nur positive Zahlen darin belassen:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Das Ergebnis der Codeausführung:
[5, 1, 1, 3, 4]
Beispiel
Kürzen wir den Code, indem wir Pfeilfunktionen verwenden:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Das Ergebnis der Codeausführung:
[5, 1, 1, 3, 4]
Beispiel
Kürzen wir den Code, indem wir Verkürzungen logischer Operationen verwenden:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Das Ergebnis der Codeausführung:
[5, 1, 1, 3, 4]
Beispiel
Kürzen wir den Code, indem wir die Besonderheiten von Pfeilfunktionen nutzen:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Das Ergebnis der Codeausführung:
[5, 1, 1, 3, 4]
Beispiel
Bei Bedarf kann im dritten Parameter das Array selbst übergeben werden:
let res = arr.filter(function(elem, index, arr) {
hier wird das Array arr verfügbar sein
});