Sobes.tech
Junior

Wie kann man überprüfen, ob dieses Feld ein Array ist?

sobes.tech KI

Antwort von AI

Es gibt mehrere Möglichkeiten zu überprüfen, ob ein gegebenes Feld ein Array ist:

  1. Array.isArray(): Die bevorzugte und moderne Methode.

    // Überprüft, ob der Wert ein Array ist.
    // Gibt true oder false zurück.
    Array.isArray([]); // true
    Array.isArray({}); // false
    Array.isArray(null); // false
    Array.isArray(undefined); // false
    Array.isArray(123); // false
    Array.isArray('Zeichenkette'); // false
    
  2. instanceof Array: Funktioniert für Arrays, die im aktuellen Frame erstellt wurden.

    // Überprüft, ob das Objekt eine Instanz der Klasse Array ist.
    // Kann falsche Ergebnisse bei der Arbeit mit iframes liefern.
    [] instanceof Array; // true
    new Array() instanceof Array; // true
    ({}); // false
    
  3. Object.prototype.toString.call(): Zuverlässige Methode, die Probleme mit instanceof in verschiedenen Frames umgeht.

    // Gibt eine String-Darstellung des Objekttyps zurück.
    // Für Arrays gibt es "[object Array]" zurück.
    Object.prototype.toString.call([]); // "[object Array]"
    Object.prototype.toString.call({}); // "[object Object]"
    Object.prototype.toString.call(null); // "[object Null]"
    Object.prototype.toString.call(undefined); // "[object Undefined]"
    
  4. Überprüfung der Eigenschaft constructor: Weniger zuverlässig, da die Eigenschaft constructor geändert werden kann.

    // Überprüft, ob der Konstruktor des Objekts Array ist.
    [].constructor === Array; // true
    ({}).constructor === Object; // false
    

Die empfohlene und zuverlässigste Methode in den meisten Fällen ist die Verwendung von Array.isArray().