TypedArray.prototype.findLastIndex()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2022.
Die findLastIndex()
Methode von TypedArray
Instanzen iteriert das typisierte Array in umgekehrter Reihenfolge und gibt den Index des ersten Elements zurück, das die bereitgestellte Testfunktion erfüllt. Wenn kein Element die Testfunktion erfüllt, wird -1 zurückgegeben. Diese Methode hat den gleichen Algorithmus wie Array.prototype.findLastIndex()
.
Probieren Sie es aus
function isNegative(element /*, index, array */) {
return element < 0;
}
const int8 = new Int8Array([10, -20, 30, -40, 50]);
console.log(int8.findLastIndex(isNegative));
// Expected output: 3
Syntax
findLastIndex(callbackFn)
findLastIndex(callbackFn, thisArg)
Parameter
callbackFn
-
Eine Funktion, die für jedes Element im typisierten Array ausgeführt wird. Sie sollte einen Wahrheitswert zurückgeben, um anzugeben, dass ein übereinstimmendes Element gefunden wurde, und einen Falschheitswert andernfalls. Die Funktion wird mit den folgenden Argumenten aufgerufen:
thisArg
Optional-
Ein Wert, der als
this
beim Ausführen voncallbackFn
verwendet wird. Siehe iterative Methoden.
Rückgabewert
Der Index des letzten (höchst-indizierten) Elements im typisierten Array, das den Test besteht.
Andernfalls -1
, wenn kein übereinstimmendes Element gefunden wird.
Beschreibung
Siehe Array.prototype.findLastIndex()
für weitere Details. Diese Methode ist nicht generisch und kann nur auf typisierten Array-Instanzen aufgerufen werden.
Beispiele
>Den Index der letzten Primzahl in einem typisierten Array finden
Das folgende Beispiel gibt den Index des letzten Elements im typisierten Array zurück, das eine Primzahl ist, oder -1
, wenn es keine Primzahl gibt.
function isPrime(n) {
if (n < 2) {
return false;
}
if (n % 2 === 0) {
return n === 2;
}
for (let factor = 3; factor * factor <= n; factor += 2) {
if (n % factor === 0) {
return false;
}
}
return true;
}
let uint8 = new Uint8Array([4, 6, 8, 12]);
console.log(uint8.findLastIndex(isPrime));
// -1 (no primes in array)
uint8 = new Uint8Array([4, 5, 7, 8, 9, 11, 12]);
console.log(uint8.findLastIndex(isPrime));
// 5
Hinweis:
Die isPrime()
-Implementierung dient nur zur Demonstration. Für eine reale Anwendung sollten Sie einen stark memoisierten Algorithmus wie das Sieb des Eratosthenes verwenden, um wiederholte Berechnungen zu vermeiden.
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification> # sec-%typedarray%.prototype.findlastindex> |
Browser-Kompatibilität
Loading…