JavaScript-Array-Filter ()
Beispiel 1
Gibt ein Array aller Werte in age[] zurück, die 18 oder älter sind:
const ages = [32, 33, 16, 40];
const result = ages.filter(checkAdult);
function checkAdult(age) {
return age >= 18;
}
Definition und Verwendung
Die filter()
Methode erstellt ein neues Array, das mit Elementen gefüllt ist, die einen von einer Funktion bereitgestellten Test bestehen.
Die filter()
Methode führt die Funktion nicht für leere Elemente aus.
Die filter()
Methode ändert das ursprüngliche Array nicht.
Syntax
array.filter(function(currentValue, index, arr), thisValue)
Parameter
Parameter | Description |
function() | Required. A function to run for each array element. |
currentValue | Required. The value of the current element. |
index | Optional. The index of the current element. |
arr | Optional. The array of the current element. |
thisValue | Optional. Default undefined A value passed to the function as its this value. |
Rückgabewert
Typ | Beschreibung |
Eine Anordnung |
Enthält die Elemente, die den Test bestehen. Wenn kein Element den Test besteht, wird ein leeres Array zurückgegeben. |
Browser-Unterstützung
filter()
ist eine ECMAScript5 (ES5)-Funktion.
ES5 (JavaScript 2009) wird in allen Browsern vollständig unterstützt:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | 9-11 | Yes | Yes | Yes | Yes |
Beispiel 2
Gibt die Werte in age[] zurück, die über einer bestimmten Zahl liegen:
<p><input type="number" id="ageToCheck" value="30"></p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
const ages = [32, 33, 12, 40];
function checkAge(age) {
return age > document.getElementById("ageToCheck").value;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAge);
}
</script>