HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
View in English Always switch to English
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die lastIndexOf()-Methode von Array-Instanzen gibt den letzten Index zurück, an dem ein bestimmtes Element im Array gefunden werden kann, oder -1, falls es nicht vorhanden ist. Das Array wird rückwärts durchsucht, beginnend bei fromIndex.
lastIndexOf()
Array
fromIndex
const animals = ["Dodo", "Tiger", "Penguin", "Dodo"]; console.log(animals.lastIndexOf("Dodo")); // Expected output: 3 console.log(animals.lastIndexOf("Tiger")); // Expected output: 1
lastIndexOf(searchElement) lastIndexOf(searchElement, fromIndex)
searchElement
Element, das im Array gefunden werden soll.
Nullbasierter Index, ab dem rückwärts gesucht wird, in eine ganze Zahl umgewandelt.
-array.length <= fromIndex < 0
fromIndex + array.length
fromIndex < -array.length
-1
fromIndex >= array.length
undefined
array.length - 1
Der letzte Index von searchElement im Array; -1 falls nicht gefunden.
Die lastIndexOf()-Methode vergleicht searchElement mit den Elementen des Arrays unter Verwendung von strikter Gleichheit (der gleiche Algorithmus, der vom ===-Operator verwendet wird). NaN-Werte werden niemals als gleich verglichen, daher gibt lastIndexOf() immer -1 zurück, wenn searchElement NaN ist.
===
NaN
Die lastIndexOf()-Methode überspringt leere Plätze in sparsely Arrays.
Die lastIndexOf()-Methode ist generisch. Sie erwartet lediglich, dass der this-Wert eine length-Eigenschaft und ganzzahlige, schlüsselbasierte Eigenschaften hat.
this
length
Das folgende Beispiel verwendet lastIndexOf(), um Werte in einem Array zu lokalisieren.
const numbers = [2, 5, 9, 2]; numbers.lastIndexOf(2); // 3 numbers.lastIndexOf(7); // -1 numbers.lastIndexOf(2, 3); // 3 numbers.lastIndexOf(2, 2); // 0 numbers.lastIndexOf(2, -2); // 0 numbers.lastIndexOf(2, -1); // 3
Sie können lastIndexOf() nicht verwenden, um nach NaN zu suchen.
const array = [NaN]; array.lastIndexOf(NaN); // -1
Das folgende Beispiel verwendet lastIndexOf, um alle Indizes eines Elements in einem gegebenen Array zu finden, indem push() genutzt wird, um sie zu einem anderen Array hinzuzufügen, sobald sie gefunden werden.
lastIndexOf
push()
const indices = []; const array = ["a", "b", "a", "c", "a", "d"]; const element = "a"; let idx = array.lastIndexOf(element); while (idx !== -1) { indices.push(idx); idx = idx > 0 ? array.lastIndexOf(element, idx - 1) : -1; } console.log(indices); // [4, 2, 0]
Beachten Sie, dass wir hier den Fall idx === 0 separat behandeln müssen, da das Element immer gefunden wird, unabhängig vom fromIndex-Parameter, wenn es das erste Element des Arrays ist. Dies unterscheidet sich von der indexOf()-Methode.
idx === 0
indexOf()
Sie können lastIndexOf() nicht verwenden, um nach leeren Plätzen in dünn besetzten Arrays zu suchen.
console.log([1, , 3].lastIndexOf(undefined)); // -1
Die lastIndexOf()-Methode liest die length-Eigenschaft von this und greift dann auf jede Eigenschaft zu, deren Schlüssel ein nicht-negativer Integer kleiner als length ist.
const arrayLike = { length: 3, 0: 2, 1: 3, 2: 2, 3: 5, // ignored by lastIndexOf() since length is 3 }; console.log(Array.prototype.lastIndexOf.call(arrayLike, 2)); // 2 console.log(Array.prototype.lastIndexOf.call(arrayLike, 5)); // -1
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Array.prototype.lastIndexOf
core-js
Array.prototype.findIndex()
Array.prototype.findLastIndex()
Array.prototype.indexOf()
TypedArray.prototype.lastIndexOf()
String.prototype.lastIndexOf()