Baseline Widely available
Die findIndex()
Methode von TypedArray
Instanzen gibt den Index des ersten Elements in einem typisierten Array zurück, das die angegebene Testfunktion erfüllt. Wenn kein Element die Testfunktion erfüllt, wird -1 zurückgegeben. Diese Methode verwendet denselben Algorithmus wie Array.prototype.findIndex()
.
function isNegative(element, index, array) {
return element < 0;
}
const int8 = new Int8Array([10, -20, 30, -40, 50]);
console.log(int8.findIndex(isNegative));
// Expected output: 1
Syntax
findIndex(callbackFn)
findIndex(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 aktuell im typisierten Array verarbeitete Element.
index
Der Index des aktuell im typisierten Array verarbeiteten Elements.
array
Das typisierte Array, auf dem findIndex()
aufgerufen wurde.
thisArg
Optional
Ein Wert, der als this
beim Ausführen von callbackFn
verwendet wird. Siehe iterative Methoden.
Der Index des ersten Elements im typisierten Array, das den Test besteht. Andernfalls -1
.
Siehe Array.prototype.findIndex()
für mehr Details. Diese Methode ist nicht generisch und kann nur auf typisierten Array-Instanzen aufgerufen werden.
Das folgende Beispiel gibt den Index des ersten 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;
}
const uint8 = new Uint8Array([4, 6, 8, 12]);
const uint16 = new Uint16Array([4, 6, 7, 12]);
console.log(uint8.findIndex(isPrime)); // -1, not found
console.log(uint16.findIndex(isPrime)); // 2
Hinweis: Die isPrime()
Implementation dient nur zur Demonstration. Für eine Anwendung in der realen Welt sollten Sie einen stark memoisierten Algorithmus wie das Sieb des Eratosthenes verwenden, um wiederholte Berechnungen zu vermeiden.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4