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 includes()-Methode von Array-Instanzen bestimmt, ob ein Array einen bestimmten Wert unter seinen Einträgen 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 zu suchende Wert.

fromIndex Optional

Der nullbasierte Index, bei dem die Suche beginnen soll, in einen ganzzahligen Wert umgewandelt.

  • Ein negativer Index zählt vom Ende des Arrays zurück — wenn -array.length <= fromIndex < 0, wird fromIndex + array.length verwendet. Das Array wird jedoch in diesem Fall weiterhin von vorne nach hinten durchsucht.
  • Wenn fromIndex < -array.length oder fromIndex ausgelassen wird, wird 0 verwendet, wodurch das gesamte Array durchsucht wird.
  • Wenn fromIndex >= array.length, wird das Array nicht durchsucht und false wird zurückgegeben.

Rückgabewert

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

Beschreibung

Die includes()-Methode vergleicht searchElement mit den Elementen des Arrays unter Verwendung des SameValueZero-Algorithmus. Dieser Algorithmus funktioniert wie die strikte Gleichheit === (wobei -0 und +0 als gleich betrachtet werden), mit der Ausnahme, dass NaN als gleich zu sich selbst betrachtet wird.

Wenn die Methode auf dünn besetzte Arrays angewendet wird, iteriert die includes()-Methode leere Stellen, als ob sie den Wert undefined hätten.

Die includes()-Methode ist generisch. Sie erwartet nur, dass der this-Wert eine Eigenschaft length und integerbasiert indizierte Eigenschaften hat.

Beispiele

Verwendung von includes()

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

Berechneter Index ist kleiner als 0

Wenn fromIndex negativ ist, wird der berechnete Index verwendet, um eine Position im Array festzulegen, bei der die Suche nach searchElement beginnt. Wenn der berechnete Index kleiner oder gleich 0 ist, 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

Verwendung von includes() bei dünn besetzten Arrays

Man kann nach undefined in einem dünn besetzten Array suchen und true erhalten.

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

Aufruf von includes() bei Nicht-Array-Objekten

Die includes()-Methode liest die length-Eigenschaft von this und greift dann auf jede Eigenschaft zu, deren Schlüssel ein nicht-negativer Ganzzahlwert ist, der 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