Dieser Inhalt wurde automatisch aus dem Englischen รผbersetzt, und kann Fehler enthalten. Erfahre mehr รผber dieses Experiment.

View in English Always switch to English

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โฉ.

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.

fromIndex Optional

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, wird fromIndex + array.length verwendet. Beachten Sie, dass das Array in diesem Fall weiterhin von vorne nach hinten durchsucht wird.
  • Wenn fromIndex < -array.length oder fromIndex weggelassen wird, wird 0 verwendet, wodurch das gesamte Array durchsucht wird.
  • Wenn fromIndex >= array.length, wird das Array nicht durchsucht und -1 wird zurรผckgegeben.

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

Specification
ECMAScriptยฎ 2026 Language Specification
# sec-array.prototype.indexof

Browser-Kompatibilitรคt

Siehe auch