JavaScript/Objekte/Array/findIndex

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

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 Element
    • index: Index des Elements aus dem Array, über welches gerade iteriert wird
    • array: 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.

Beispiel
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:

Beispiel
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