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.includes()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit August 2016 browserübergreifend verfügbar.

Die Methode includes() von Array-Instanzen prüft, ob ein Array unter seinen Einträgen einen bestimmten Wert enthält, und gibt entsprechend true oder false zurück.

Probieren Sie es aus

const array = [1, 2, 3];

console.log(array.includes(2));
// Expected output: true

const pets = ["cat", "dog", "bat"];

console.log(pets.includes("cat"));
// Expected output: true

console.log(pets.includes("at"));
// Expected output: false

Syntax

js
includes(searchElement)
includes(searchElement, fromIndex)

Parameter

searchElement

Der Wert, nach dem gesucht werden soll.

fromIndex Optional

Nullbasierter Index, ab dem die Suche beginnt; er wird in eine Ganzzahl umgewandelt.

  • Ein negativer Index wird vom Ende des Arrays aus gezählt. Wenn -array.length <= fromIndex < 0, wird fromIndex + array.length verwendet. Das Array wird dabei weiterhin von vorn nach hinten durchsucht.
  • Wenn fromIndex < -array.length gilt oder fromIndex weggelassen wird, wird 0 verwendet und das gesamte Array durchsucht.
  • Wenn fromIndex >= array.length gilt, wird das Array nicht durchsucht und false zurückgegeben.

Rückgabewert

Ein boolescher Wert, der true ist, wenn searchElement im Array gefunden wird (oder, falls angegeben, in dem durch fromIndex bestimmten Teil des Arrays).

Beschreibung

Die Methode includes() vergleicht searchElement mit den Elementen des Arrays anhand des SameValueZero-Algorithmus. Dieser Algorithmus funktioniert wie die strikte Gleichheit === (bei der -0 und +0 als gleich gelten), mit der Ausnahme, dass NaN als gleich mit sich selbst gilt.

Bei Arrays mit unbelegten Positionen behandelt die Methode includes() leere Positionen so, als hätten sie den Wert undefined.

Die Methode includes() ist generisch. Sie setzt lediglich voraus, dass der Wert von this eine length-Eigenschaft und Eigenschaften mit ganzzahligen Schlüsseln besitzt.

Beispiele

includes() verwenden

js
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true
["1", "2", "3"].includes(3); // false

fromIndex ist größer oder gleich der Array-Länge

Wenn fromIndex größer oder gleich der Länge des Arrays ist, wird false zurückgegeben. Das Array wird nicht durchsucht.

js
const arr = ["a", "b", "c"];

arr.includes("c", 3); // false
arr.includes("c", 100); // false

Der berechnete Index ist kleiner als 0

Wenn fromIndex negativ ist, wird daraus ein Index berechnet, der die Startposition für die Suche nach searchElement im Array angibt. Ist der berechnete Index kleiner oder gleich 0, wird das gesamte Array durchsucht.

js
// array length is 3
// fromIndex is -100
// computed index is 3 + (-100) = -97

const arr = ["a", "b", "c"];

arr.includes("a", -100); // true
arr.includes("b", -100); // true
arr.includes("c", -100); // true
arr.includes("a", -2); // false

includes() bei Arrays mit unbelegten Positionen verwenden

Sie können in einem Array mit unbelegten Positionen nach undefined suchen und true erhalten.

js
console.log([1, , 3].includes(undefined)); // true

includes() für Objekte aufrufen, die keine Arrays sind

Die Methode includes() liest die length-Eigenschaft von this und greift anschließend auf jede Eigenschaft zu, deren Schlüssel eine nichtnegative Ganzzahl kleiner als length ist.

js
const arrayLike = {
  length: 3,
  0: 2,
  1: 3,
  2: 4,
  3: 1, // ignored by includes() since length is 3
};
console.log(Array.prototype.includes.call(arrayLike, 2));
// true
console.log(Array.prototype.includes.call(arrayLike, 1));
// false

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-array.prototype.includes

Browser-Kompatibilität

Siehe auch