TypedArray.prototype.filter()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2016 browserübergreifend verfügbar.
Die filter()-Methode von TypedArray-Instanzen erstellt eine Kopie eines Teils eines gegebenen typisierten Arrays, gefiltert auf nur die Elemente aus dem gegebenen typisierten Array, die den Test bestehen, der von der bereitgestellten Funktion implementiert wird. Diese Methode hat den gleichen Algorithmus wie Array.prototype.filter().
Probieren Sie es aus
function isNegative(element, index, array) {
return element < 0;
}
const int8 = new Int8Array([-10, 20, -30, 40, -50]);
const negInt8 = int8.filter(isNegative);
console.log(negInt8);
// Expected output: Int8Array [-10, -30, -50]
Syntax
filter(callbackFn)
filter(callbackFn, thisArg)
Parameter
callbackFn-
Eine Funktion, die für jedes Element im typisierten Array ausgeführt wird. Sie sollte einen truthy Wert zurückgeben, um das Element im resultierenden typisierten Array zu behalten, und einen falsy Wert andernfalls. Die Funktion wird mit den folgenden Argumenten aufgerufen:
thisArgOptional-
Ein Wert, der als
thisbeim Ausführen voncallbackFnverwendet wird. Siehe iterative Methoden.
Rückgabewert
Eine Kopie des gegebenen typisierten Arrays, das nur die Elemente enthält, die den Test bestehen. Wenn kein Element den Test besteht, wird ein leeres typisiertes Array zurückgegeben.
Beschreibung
Weitere Details finden Sie unter Array.prototype.filter(). Diese Methode ist nicht generisch und kann nur auf typisierten Array-Instanzen aufgerufen werden.
Beispiele
>Herausfiltern aller kleinen Werte
Das folgende Beispiel verwendet filter(), um ein gefiltertes typisiertes Array zu erstellen, das alle Elemente mit Werten unter 10 entfernt.
function isBigEnough(element, index, array) {
return element >= 10;
}
new Uint8Array([12, 5, 8, 130, 44]).filter(isBigEnough);
// Uint8Array [ 12, 130, 44 ]
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-%typedarray%.prototype.filter> |