Array.isArray()

von 2 Mitwirkenden:

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" (auf Englisch).

Beispiele

// die folgenden Ausdrücke geben alle true zurück
Array.isArray([]);
Array.isArray([1]);
Array.isArray( new Array() );

// 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 });

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 6 (ECMA-262)
Die Definition von 'Array.isArray' in dieser Spezifikation.
Anwärter Empfehlung  

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 (Ja) (Ja) 4.0 (2.0) (Ja) (Ja)

(Ja)

Basierend auf Kangax's compat table.

Siehe auch

Elementare Unterstützung

 

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
Mitwirkende an dieser Seite: fscholz, yacchatta
Zuletzt aktualisiert von: fscholz,
Seitenleiste ausblenden