Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Array.prototype.indexOf()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
DieindexOf()-Methode vonArray Instanzen gibt den ersten Index zurück, an dem ein gegebenes Element im Array gefunden werden kann, oder -1, wenn es nicht vorhanden ist.
In diesem Artikel
Probieren Sie es aus
const beasts = ["ant", "bison", "camel", "duck", "bison"];console.log(beasts.indexOf("bison"));// Expected output: 1// Start from index 2console.log(beasts.indexOf("bison", 2));// Expected output: 4console.log(beasts.indexOf("giraffe"));// Expected output: -1Syntax
indexOf(searchElement)indexOf(searchElement, fromIndex)Parameter
searchElementElement, das im Array gesucht werden soll.
fromIndexOptionalNullbasierter Index, ab dem die Suche beginnt,zu einer Ganzzahl konvertiert.
- Ein negativer Index zählt vom Ende des Arrays zurück — wenn
-array.length <= fromIndex < 0, wirdfromIndex + array.lengthverwendet. Beachten Sie, dass das Array in diesem Fall weiterhin von vorne nach hinten durchsucht wird. - Wenn
fromIndex < -array.lengthoderfromIndexweggelassen wird, wird0verwendet, wodurch das gesamte Array durchsucht wird. - Wenn
fromIndex >= array.length, wird das Array nicht durchsucht und-1wird zurückgegeben.
- Ein negativer Index zählt vom Ende des Arrays zurück — wenn
Rückgabewert
Der erste Index vonsearchElement im Array;-1, wenn nicht gefunden.
Beschreibung
DieindexOf()-Methode vergleichtsearchElement mit den Elementen des Arrays unter Verwendung vonstrikter Gleichheit (dem gleichen Algorithmus, der vom=== Operator verwendet wird).NaN-Werte werden niemals als gleich angesehen, daher gibtindexOf() immer-1 zurück, wennsearchElementNaN ist.
DieindexOf()-Methode überspringt leere Stellen indünn besiedelten Arrays.
DieindexOf()-Methode istgenerisch. Sie erwartet nur, dass derthis Wert einelength-Eigenschaft und integer-indexierte Eigenschaften hat.
Beispiele
>Verwendung von indexOf()
Das folgende Beispiel verwendetindexOf(), um Werte in einem Array zu lokalisieren.
const array = [2, 9, 9];array.indexOf(2); // 0array.indexOf(7); // -1array.indexOf(9, 2); // 2array.indexOf(2, -1); // -1array.indexOf(2, -3); // 0Sie könnenindexOf() nicht verwenden, um nachNaN zu suchen.
const array = [NaN];array.indexOf(NaN); // -1Finden aller Vorkommen eines Elements
const indices = [];const array = ["a", "b", "a", "c", "a", "d"];const element = "a";let idx = array.indexOf(element);while (idx !== -1) { indices.push(idx); idx = array.indexOf(element, idx + 1);}console.log(indices);// [0, 2, 4]Prüfen, ob ein Element im Array vorhanden ist, und das Array aktualisieren
function updateVegetablesCollection(veggies, veggie) { if (veggies.indexOf(veggie) === -1) { veggies.push(veggie); console.log(`New veggies collection is: ${veggies}`); } else { console.log(`${veggie} already exists in the veggies collection.`); }}const veggies = ["potato", "tomato", "chillies", "green-pepper"];updateVegetablesCollection(veggies, "spinach");// New veggies collection is: potato,tomato,chillies,green-pepper,spinachupdateVegetablesCollection(veggies, "spinach");// spinach already exists in the veggies collection.Verwendung von indexOf() bei dünn besiedelten Arrays
Sie könnenindexOf() nicht verwenden, um nach leeren Stellen in dünn besiedelten Arrays zu suchen.
console.log([1, , 3].indexOf(undefined)); // -1Aufruf von indexOf() bei Nicht-Array-Objekten
DieindexOf()-Methode liest dielength-Eigenschaft vonthis und greift auf jede Eigenschaft zu, deren Schlüssel eine nicht-negative Ganzzahl kleiner alslength ist.
const arrayLike = { length: 3, 0: 2, 1: 3, 2: 4, 3: 5, // ignored by indexOf() since length is 3};console.log(Array.prototype.indexOf.call(arrayLike, 2));// 0console.log(Array.prototype.indexOf.call(arrayLike, 5));// -1Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.indexof> |