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
includes(searchElement)
includes(searchElement, fromIndex)
Parameter
searchElement-
Der Wert, nach dem gesucht werden soll.
fromIndexOptional-
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, wirdfromIndex + array.lengthverwendet. Das Array wird dabei weiterhin von vorn nach hinten durchsucht. - Wenn
fromIndex < -array.lengthgilt oderfromIndexweggelassen wird, wird0verwendet und das gesamte Array durchsucht. - Wenn
fromIndex >= array.lengthgilt, wird das Array nicht durchsucht undfalsezurückgegeben.
- Ein negativer Index wird vom Ende des Arrays aus gezählt. Wenn
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
[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.
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.
// 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.
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.
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> |