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 July 2015.
Die statische Methode Array.isArray()
bestimmt, ob der übergebene Wert ein Array
ist.
Probieren Sie es aus
console.log(Array.isArray([1, 3, 5]));
// Expected output: true
console.log(Array.isArray("[]"));
// Expected output: false
console.log(Array.isArray(new Array(5)));
// Expected output: true
console.log(Array.isArray(new Int16Array([15, 33])));
// Expected output: false
Syntax
Array.isArray(value)
Parameter
value
-
Der zu überprüfende Wert.
Rückgabewert
true
wenn value
ein Array
ist; andernfalls false
. false
wird immer zurückgegeben, wenn value
eine Instanz eines TypedArray
ist.
Beschreibung
Array.isArray()
überprüft, ob der übergebene Wert ein Array
ist. Es führt einen gebrandeten Check durch, ähnlich dem in
Operator, nach einer privaten Eigenschaft, die durch den Array()
Konstruktor initialisiert wird.
Es ist eine robustere Alternative zu instanceof 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 Bereich erstellt wurden —instanceof Array
gibt für diesefalse
zurück, da die Identität desArray
-Konstruktors in verschiedenen Bereichen unterschiedlich ist.
Siehe den Artikel "Determining with absolute accuracy whether or not a JavaScript object is an array" für weitere Details.
Beispiele
Verwendung von Array.isArray()
// all following calls return true
Array.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 false
Array.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 constructor
Array.isArray({ __proto__: Array.prototype });
instanceof vs. Array.isArray()
Beim Überprüfen auf eine Array
-Instanz wird Array.isArray()
gegenüber instanceof
bevorzugt, weil es bereichsübergreifend 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 Array
Array.isArray(arr); // true
// The prototype of arr is xArray.prototype, which is a
// different object from Array.prototype
arr instanceof Array; // false
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.isarray |