TypedArray.prototype.findLast()

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 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 denselben Algorithmus wie Array.prototype.findLast().

Probieren Sie es aus

function isNegative(element /*, index, array */) {
  return element < 0;
}

const int8 = new Int8Array([10, 0, -10, 20, -30, 40, 50]);

console.log(int8.find(isNegative));
// Expected output: -30

Syntax

js
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 übereinstimmendes Element gefunden wurde, und einen falsy Wert andernfalls. Die Funktion wird mit den folgenden Argumenten aufgerufen:

element

Das aktuelle Element, das im typisierten Array verarbeitet wird.

index

Der Index des aktuellen Elements, das im typisierten Array verarbeitet wird.

array

Das typisierte Array, auf das findLast() aufgerufen wurde.

thisArg Optional

Ein Wert, der als this verwendet wird, wenn callbackFn ausgeführt wird. Siehe iterative Methoden.

Rückgabewert

Das letzte (höchstindizierte) Element im typisierten Array, das die bereitgestellte Testfunktion erfüllt; undefined, wenn kein übereinstimmendes Element gefunden wird.

Beschreibung

Siehe Array.prototype.findLast() für mehr Details. Diese Methode ist nicht generisch und kann nur auf Instanzen von typisierten Arrays aufgerufen werden.

Beispiele

Finde die letzte Primzahl in einem typisierten Array

Das folgende Beispiel gibt das letzte Element im typisierten Array zurück, das eine Primzahl ist, oder undefined, wenn es keine Primzahl gibt.

js
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 Wert, der an das Callback übergeben wird, ihr Wert ist, wenn sie besucht werden:

js
// 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® 2026 Language Specification
# sec-%typedarray%.prototype.findlast

Browser-Kompatibilität

Siehe auch