Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Array.isArray()
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.
DieArray.isArray() statische Methode bestimmt, ob der übergebene Wert einArray ist.
In diesem Artikel
Probieren Sie es aus
console.log(Array.isArray([1, 3, 5]));// Expected output: trueconsole.log(Array.isArray("[]"));// Expected output: falseconsole.log(Array.isArray(new Array(5)));// Expected output: trueconsole.log(Array.isArray(new Int16Array([15, 33])));// Expected output: falseSyntax
Array.isArray(value)Parameter
valueDer zu prüfende Wert.
Rückgabewert
true, wennvalue einArray ist; andernfallsfalse.false wird immer zurückgegeben, wennvalue eine Instanz vonTypedArray ist.
Beschreibung
Array.isArray() prüft, ob der übergebene Wert einArray ist. Es führt einemarkierte Prüfung durch, ähnlich demin Operator, für ein privates Feld, das durch denArray() Konstruktor initialisiert wird.
Es ist eine robustere Alternative zuminstanceof Array, da es falsche Positive und falsche Negative vermeidet:
Array.isArray()lehnt Werte ab, die keine tatsächlichenArrayInstanzen sind, selbst wenn sieArray.prototypein ihrer Prototypenkette haben —instanceof Arraywürde diese akzeptieren, da es die Prototypenkette überprüft.Array.isArray()akzeptiertArrayObjekte, die in einem anderen Kontext konstruiert wurden —instanceof Arraygibtfalsefür diese zurück, da die Identität desArrayKonstruktors zwischen den Kontexten verschieden ist.
Details finden Sie im Artikel"Determining with absolute accuracy whether or not a JavaScript object is an array".
Beispiele
>Verwendung von Array.isArray()
// all following calls return trueArray.isArray([]);Array.isArray([1]);Array.isArray(new Array());Array.isArray(new Array("a", "b", "c", "d"));Array.isArray(new Array(3));// Little known fact: Array.prototype itself is an array:Array.isArray(Array.prototype);// all following calls return falseArray.isArray();Array.isArray({});Array.isArray(null);Array.isArray(undefined);Array.isArray(17);Array.isArray("Array");Array.isArray(true);Array.isArray(false);Array.isArray(new Uint8Array(32));// This is not an array, because it was not created using the// array literal syntax or the Array constructorArray.isArray({ __proto__: Array.prototype });instanceof vs. Array.isArray()
Beim Prüfen auf eineArray Instanz wirdArray.isArray() deminstanceof vorgezogen, da es über verschiedene Kontexte hinweg funktioniert.
const iframe = document.createElement("iframe");document.body.appendChild(iframe);const xArray = window.frames[window.frames.length - 1].Array;const arr = new xArray(1, 2, 3); // [1, 2, 3]// Correctly checking for ArrayArray.isArray(arr); // true// The prototype of arr is xArray.prototype, which is a// different object from Array.prototypearr instanceof Array; // falseSpezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.isarray> |