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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidEdge MobileFirefox für AndroidOpera für AndroidiOS SafariSamsung InternetNode.js
Grundlegende UnterstützungChrome Vollständige Unterstützung 5Edge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 4IE Vollständige Unterstützung 9Opera Vollständige Unterstützung 10.5Safari Vollständige Unterstützung 5WebView Android Vollständige Unterstützung JaChrome Android Vollständige Unterstützung JaEdge Mobile Vollständige Unterstützung JaFirefox Android Vollständige Unterstützung 4Opera Android Vollständige Unterstützung JaSafari iOS Vollständige Unterstützung JaSamsung Internet Android Vollständige Unterstützung Janodejs Vollständige Unterstützung Ja

Legende

Vollständige Unterstützung  
Vollständige Unterstützung

Siehe auch

Elementare Unterstützung

Schlagwörter des Dokuments und Mitwirkende

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