Junior
Wie überprüft man, ob ein Objekt ein Array ist?
sobes.tech KI
Antwort von AI
Es gibt mehrere Möglichkeiten:
-
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 -
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 -
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.