Sobes.tech
Junior

Wie überprüft man, ob ein Objekt ein Array ist?

sobes.tech KI

Antwort von AI

Es gibt mehrere Möglichkeiten:

  1. Verwenden Sie Array.isArray(). Dies ist die zuverlässigste und empfohlene Methode.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Array.isArray(arr)); // true
    console.log(Array.isArray(obj)); // false
    
  2. Verwenden Sie instanceof Array. Funktioniert für Arrays, die im aktuellen Frame oder Fenster erstellt wurden. Kann falsche Ergebnisse bei der Arbeit mit Frames oder Cross-Domain-Szenarien liefern.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(arr instanceof Array); // true
    console.log(obj instanceof Array); // false
    
  3. Verwenden Sie Object.prototype.toString.call(). Gibt eine String-Darstellung des Objekttyps zurück. Für Arrays ist es "[object Array]".

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Object.prototype.toString.call(arr) === '[object Array]'); // true
    console.log(Object.prototype.toString.call(obj) === '[object Array]'); // false
    

Die bevorzugte Methode ist die Verwendung von Array.isArray(), da sie zuverlässig ist und keine Nebenwirkungen im Zusammenhang mit dem Ausführungskontext hat.