Die Array.isArray() Funktion prüft, ob das übergebene Objekt ein Array ist.

Array.isArray([1, 2, 3]);  // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar');   // false
Array.isArray(undefined);  // false

Syntax

Array.isArray(obj)

Parameter

obj
Das zu überprüfende Objekt.

Rückgabewert

true wenn das Objekt ein Array ist, andernfalls false.

Beschreibung

Wenn das übergebene Objekt ein Array ist, wir true zurückzugeben, andernfalls false.

Für eine tiefergehende Beschreibung sei der folgende Artikel empfohlen: "Determining with absolute accuracy whether or not a JavaScript object is an array" (auf Englisch).

Beispiele

// die folgenden Ausdrücke geben true zurück
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
Array.isArray(new Array('a', 'b', 'c', 'd'));
Array.isArray(new Array(3));
// wenig bekannt: Array.prototype ist selbst ein Array.
Array.isArray(Array.prototype);

// die folgenden Ausdrücke geben alle false zurück
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(17);
Array.isArray("Array");
Array.isArray(true);
Array.isArray(false);
Array.isArray({ __proto__ : Array.prototype });

instanceof vs isArray

Wenn auf eine Array Instanz geprüft wird, ist Array.isArray besser geeignet als instanceof, weil es auch mit iframes funktioniert.

var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
xArray = window.frames[window.frames.length-1].Array;
var arr = new xArray(1,2,3); // [1,2,3]

// Richtiges Prüfen für Arrays
Array.isArray(arr);   // true
// Als nicht richtig angesehen, weil es nicht mit iframes funktioniert
arr instanceof Array; // false

Polyfill

Der folgende Code implementiert die Methode, wenn Array.isArray() nicht nativ unterstützt wird.

if(!Array.isArray) {
  Array.isArray = function (vArg) {
    return Object.prototype.toString.call(vArg) === "[object Array]";
  };
}

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Array.isArray' in dieser Spezifikation.
Standard Initiale Definition. Eingeführt in JavaScript 1.8.5
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Array.isArray' in dieser Spezifikation.
Standard  
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Array.isArray' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung5 Ja4910.55
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung Ja Ja Ja4 Ja Ja Ja

Siehe auch

Elementare Unterstützung

 

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: schlagi123, oliver-j, fscholz, yacchatta
 Zuletzt aktualisiert von: schlagi123,