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
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.
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.
const array = [NaN];
array.indexOf(NaN); // -1
Finden 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,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.
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.
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
Loading…