Array.isArray()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
DieArray.isArray()
statische Methode bestimmt, ob der übergebene Wert einArray
ist.
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: false
Syntax
Array.isArray(value)
Parameter
value
Der 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ächlichenArray
Instanzen sind, selbst wenn sieArray.prototype
in ihrer Prototypenkette haben —instanceof Array
würde diese akzeptieren, da es die Prototypenkette überprüft.Array.isArray()
akzeptiertArray
Objekte, die in einem anderen Kontext konstruiert wurden —instanceof Array
gibtfalse
für diese zurück, da die Identität desArray
Konstruktors 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; // false
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.isarray |
Browser-Kompatibilität
Siehe auch
MDN-Feedback-Box
Diese Seite wurde automatisch aus dem Englischen übersetzt.