Einführung
Die Array-Methode filter()
erstellt aus einem vorhandenen Array ein neues Array mit Elementen, die unter ein gegebenes Kriterium fallen:
var numbers = [1, 3, 6, 8, 11];
var lucky = numbers.filter(function(number) {
return number > 7;
});
// [ 8, 11 ]
Das obige Beispiel nimmt das Array numbers
und gibt ein neues gefiltertes Array mit nur jenen Werten zurück, die größer als sieben sind.
Syntax des Filters
var newArray = array.filter(function(item) {
return condition;
});
Das Argument item ist eine Referenz auf das aktuelle Element im Array, da filter() es gegen die Bedingung condition prüft. Dies ist im Fall von Objekten für den Zugriff auf Eigenschaften nützlich.
Wenn das aktuelle item die Bedingung erfüllt, wird es an das neue Array gesendet.
Filtern eines Arrays von Objekten
Ein üblicher Anwendungsfall von .filter() ist die Verwendung eines Arrays von Objekten über ihre Eigenschaften:
var heroes = [
{name: “Batman”, franchise: “DC”},
{name: “Ironman”, franchise: “Marvel”},
{name: “Thor”, franchise: “Marvel”},
{name: “Superman”, franchise: “DC”}
];
var marvelHeroes = heroes.filter(function(hero) {
return hero.franchise == “Marvel”;
});
// [ {name: “Ironman”, franchise: “Marvel”}, {name: “Thor”, franchise: “Marvel”} ]
Zusätzliche Informationen
Weitere Details zu filter()
finden Sie in der MDN-Referenz.
Filter ist nur eine von mehreren Iterationsmethoden für Arrays in JavaScript. Lesen Sie Verwenden von Array-Iterationsmethoden in JavaScript, um mehr über die anderen Methoden wie map()
und reduce()
zu erfahren.