Junior
Come verificare se un oggetto è un array?
sobes.tech AI
Risposta dell'AI
Esistono diversi metodi:
-
Usare
Array.isArray(). È il metodo più affidabile e consigliato.const arr = [1, 2, 3]; const obj = { a: 1 }; console.log(Array.isArray(arr)); // true console.log(Array.isArray(obj)); // false -
Usare
instanceof Array. Funziona per array creati nel frame o finestra corrente. Potrebbe dare risultati falsi quando si lavora con frame o scenari cross-domain.const arr = [1, 2, 3]; const obj = { a: 1 }; console.log(arr instanceof Array); // true console.log(obj instanceof Array); // false -
Usare
Object.prototype.toString.call(). Restituisce una rappresentazione in stringa del tipo dell'oggetto. Per gli array, è"[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
Il metodo più preferibile è usare Array.isArray(), poiché è affidabile e senza effetti collaterali legati al contesto di esecuzione.