JavaScript/Objekte/Array/findIndex
Die findIndex()-Methode gibt den Index des ersten Elements des Arrays zurück, das die mitgelieferte Testfunktion erfüllt. Vergleichbar dazu gibt die find-Methode das gefundenen Element selbst zurückgibt.
Syntax
arr.findIndex(callback[, thisArg])
Writable | true |
Enumerable | false |
Configurable | true |
Folgende Parameter sind möglich:
callback
: Funktion, die für jeden Wert des Arrays ausgeführt wird. Sie bekommt ihrerseits drei Parameter:element
: das aktuelle verarbeitete Elementindex
: Index des Elements aus dem Array, über welches gerade iteriert wirdarray
: Referenz auf das gesamte (ursprüngliche) Array
thisArg
: (optional) Kontext-Parameter, der als this genutzt wird bei der Ausführung der callback-Funktion.
Rückgabewert ist eine Integer-Zahl. Sie repräsentiert die Position desjenigen Elements im Array, welches den Test besteht. Wurde kein solches gefunden, gibt sie -1
zurück.
Beschreibung
Mit der Callbackfunktion kann geprüft werden, welches Element das zu findende ist. Ihr Rückgabewert wird entweder als true
oder false
interpretiert.
var a = ["null", "eins", "zwei", "drei"];
var test = function (element) {
return element === "zwei";
};
console.log(a.findIndex(test)); // 2
Der Sinn hinter find
und findIndex
ist nicht das simple Finden eines bereits bekannten Wertes innerhalb eines Arrays (dafür gibt es indexOf
und lastIndexOf
), sondern das Herausfinden eines passenden Wertes:
var a = ["null", "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun","zehn"];
function min5buchstaben (element) {
return element.length >= 5;
};
function min6buchstaben (element) {
return element.length >= 6;
};
console.log(a.findIndex(min5buchstaben)); // 6
console.log(a.findIndex(min6buchstaben)); // 7
Spezifikation
findIndex() | ECMAScript 2015 | 2017 Draft |