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 (ECMA-262) Die Definition von 'Array.isArray' in dieser Spezifikation. |
Lebender Standard |
Browserkompatibilität
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
isArray | Chrome Vollständige Unterstützung 5 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 4 | IE Vollständige Unterstützung 9 | Opera Vollständige Unterstützung 10.5 | Safari Vollständige Unterstützung 5 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 14 | Safari iOS Vollständige Unterstützung 5 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Legende
- Vollständige Unterstützung
- Vollständige Unterstützung
Siehe auch
| Elementare Unterstützung |