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
includes(searchElement)
includes(searchElement, fromIndex)
Parameter
searchElement-
Der zu suchende Wert.
fromIndexOptional-
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, wirdfromIndex + array.lengthverwendet. Das Array wird jedoch in diesem Fall weiterhin von vorne nach hinten durchsucht. - Wenn
fromIndex < -array.lengthoderfromIndexausgelassen wird, wird0verwendet, wodurch das gesamte Array durchsucht wird. - Wenn
fromIndex >= array.length, wird das Array nicht durchsucht undfalsewird zurückgegeben.
- Ein negativer Index zählt vom Ende des Arrays zurück — wenn
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()
[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
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.
// 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.
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.
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> |