TypedArray.prototype.findLast()
Baseline 2022
Newly available
Since August 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Die findLast()
-Methode von TypedArray
-Instanzen durchläuft das typisierte Array in umgekehrter Reihenfolge und gibt den Wert des ersten Elements zurück, das die bereitgestellte Testfunktion erfüllt. Wenn kein Element die Testfunktion erfüllt, wird undefined
zurückgegeben. Diese Methode hat den gleichen Algorithmus wie Array.prototype.findLast()
.
Probieren Sie es aus
Syntax
findLast(callbackFn)
findLast(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 anzuzeigen, dass ein passendes Element gefunden wurde, und einen falsy-Wert 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
Das letzte (höchstindexierte) Element im typisierten Array, das die bereitgestellte Testfunktion erfüllt; undefined
, wenn kein passendes Element gefunden wird.
Beschreibung
Siehe Array.prototype.findLast()
für weitere Details. Diese Methode ist nicht generisch und kann nur auf typisierten Array-Instanzen aufgerufen werden.
Beispiele
Finde die letzte Primzahl in einem typisierten Array
Das folgende Beispiel gibt den Wert des letzten Elements im typisierten Array zurück, das eine Primzahl ist, oder undefined
, wenn keine Primzahl vorhanden ist.
function isPrime(element) {
if (element % 2 === 0 || element < 2) {
return false;
}
for (let factor = 3; factor <= Math.sqrt(element); factor += 2) {
if (element % factor === 0) {
return false;
}
}
return true;
}
let uint8 = new Uint8Array([4, 6, 8, 12]);
console.log(uint8.findLast(isPrime)); // undefined (no primes in array)
uint8 = new Uint8Array([4, 5, 7, 8, 9, 11, 12]);
console.log(uint8.findLast(isPrime)); // 11
Alle Elemente werden besucht und können vom Callback modifiziert werden
Die folgenden Beispiele zeigen, dass alle Elemente besucht werden und dass der Callback-Wert ihr Wert beim Besuch ist:
// Declare array with no elements at indexes 2, 3, and 4
// The missing elements will be initialized to zero.
const uint8 = new Uint8Array([0, 1, , , , 5, 6]);
// Iterate through the elements in reverse order.
// Note that all elements are visited.
uint8.findLast((value, index) => {
console.log(`Visited index ${index} with value ${value}`);
});
// Shows all indexes, including deleted
uint8.findLast((value, index) => {
// Modify element 3 on first iteration
if (index === 6) {
console.log("Set uint8[3] to 44");
uint8[3] = 44;
}
// Element 3 is still visited but will have a new value.
console.log(`Visited index ${index} with value ${value}`);
});
// Visited index 6 with value 6
// Visited index 5 with value 5
// Visited index 4 with value 0
// Visited index 3 with value 0
// Visited index 2 with value 0
// Visited index 1 with value 1
// Visited index 0 with value 0
// Set uint8[3] to 44
// Visited index 6 with value 6
// Visited index 5 with value 5
// Visited index 4 with value 0
// Visited index 3 with value 44
// Visited index 2 with value 0
// Visited index 1 with value 1
// Visited index 0 with value 0
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-%typedarray%.prototype.findlast |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Polyfill von
TypedArray.prototype.findLast
incore-js
- JavaScript typisierte Arrays Leitfaden
TypedArray
TypedArray.prototype.find()
TypedArray.prototype.findIndex()
TypedArray.prototype.findLastIndex()
TypedArray.prototype.includes()
TypedArray.prototype.filter()
TypedArray.prototype.every()
TypedArray.prototype.some()
Array.prototype.findLast()