This translation is incomplete. Please help translate this article from English.
Zusammenfassung
Die Methode Array.isArray() gibt true zurück, wenn das übergebene Objekt ein Array ist, andernfalls false.
Syntax
Array.isArray(obj)
Parameter
-
obj - Das zu überprüfende Objekt.
Beschreibung
Mit ECMAScript 5 wurde die Methode zur Überprüfung, ob ein Objekt ein Array ist oder nicht, eingeführt.
Eine alternative Überprüfung lautet obj instanceof Array. Hiermit kann ebenfalls ermittelt werden, ob obj ein Array ist. Allerdings hat diese Überprüfung die Beschränkung, dass nur Arrays des selben Fensters richtig erkannt werden. Wird ein Array von einem Fenster in das nächste übergeben, schlägt der Ausdruck fehl.
Die Methode Array.isArray() hat diese Beschränkung nicht.
Für eine tiefergehende Beschreibung sei der folgende Artikel empfohlen: "Determining with absolute accuracy whether or not a JavaScript object is an array" (in Englisch).
Beispiele
// die folgenden Ausdrücke geben alle true zurück
Array.isArray([]);
Array.isArray([1]);
Array.isArray( new Array() );
Array.isArray( Array.prototype ); // Allgemein Bekannt: Array.prototype ist selbst ein Array.
// 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 });
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 Language Specification 5.1th Edition (ECMA-262) | Standard | Initiale Definition. Eingeführt in JavaScript 1.8.5 |
| ECMAScript Language Specification 6th Edition (ECMA-262) | Draft |
Browser Unterstützung
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Grundlegende Unterstützung | 5 | 4.0 (2.0) | 9 | 10.5 | 5 |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Grundlegende Unterstützung | (Yes) | (Yes) | 4.0 (2.0) | (Yes) | (Yes) |
(Yes) |
Basierend auf Kangax's compat table.
Siehe auch
| Elementare Unterstützung |