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])
Attribute
| 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
Weblinks
| findIndex() | ECMAScript 2015 | 2017 Draft |