Array.prototype.indexOf() - JavaScript | MDN
Baseline
Weitgehend verfügbar
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 indexOf()-Methode von Array Instanzen gibt den ersten Index zurück, an dem ein gegebenes Element im Array gefunden werden kann, oder -1, wenn es nicht vorhanden ist.
Probieren Sie es aus
const beasts = ["ant", "bison", "camel", "duck", "bison"];
console.log(beasts.indexOf("bison"));
// Expected output: 1
// Start from index 2
console.log(beasts.indexOf("bison", 2));
// Expected output: 4
console.log(beasts.indexOf("giraffe"));
// Expected output: -1
Syntax
js
indexOf(searchElement)
indexOf(searchElement, fromIndex)
Parameter
searchElement-
Element, das im Array gesucht werden soll.
fromIndexOptional-
Nullbasierter 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 von searchElement im Array; -1, wenn nicht gefunden.
Beschreibung
Die indexOf()-Methode vergleicht searchElement mit den Elementen des Arrays unter Verwendung von strikter Gleichheit (dem gleichen Algorithmus, der vom === Operator verwendet wird). NaN-Werte werden niemals als gleich angesehen, daher gibt indexOf() immer -1 zurück, wenn searchElement NaN ist.
Die indexOf()-Methode überspringt leere Stellen in dünn besiedelten Arrays.
Die indexOf()-Methode ist generisch. Sie erwartet nur, dass der this Wert eine length-Eigenschaft und integer-indexierte Eigenschaften hat.
Beispiele
Verwendung von indexOf()
Das folgende Beispiel verwendet indexOf(), um Werte in einem Array zu lokalisieren.
js
const array = [2, 9, 9];
array.indexOf(2); // 0
array.indexOf(7); // -1
array.indexOf(9, 2); // 2
array.indexOf(2, -1); // -1
array.indexOf(2, -3); // 0
Sie können indexOf() nicht verwenden, um nach NaN zu suchen.
js
const array = [NaN];
array.indexOf(NaN); // -1
Finden aller Vorkommen eines Elements
js
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
js
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,spinach
updateVegetablesCollection(veggies, "spinach");
// spinach already exists in the veggies collection.
Verwendung von indexOf() bei dünn besiedelten Arrays
Sie können indexOf() nicht verwenden, um nach leeren Stellen in dünn besiedelten Arrays zu suchen.
js
console.log([1, , 3].indexOf(undefined)); // -1
Aufruf von indexOf() bei Nicht-Array-Objekten
Die indexOf()-Methode liest die length-Eigenschaft von this und greift auf jede Eigenschaft zu, deren Schlüssel eine nicht-negative Ganzzahl kleiner als length ist.
js
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));
// 0
console.log(Array.prototype.indexOf.call(arrayLike, 5));
// -1
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2026 Language Specification # sec-array.prototype.indexof |
Browser-Kompatibilität
Siehe auch
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.