Junior
Come si può verificare che questo campo è un array?
sobes.tech AI
Risposta dell'AI
Esistono diversi modi per verificare se un campo dato è un array:
-
Array.isArray(): Il metodo più preferito e moderno.// Verifica se il valore è un array. // Restituisce true o false. Array.isArray([]); // true Array.isArray({}); // false Array.isArray(null); // false Array.isArray(undefined); // false Array.isArray(123); // false Array.isArray('stringa'); // false -
instanceof Array: Funziona per array creati nel frame corrente.// Verifica se l'oggetto è un'istanza della classe Array. // Può dare risultati incorretti con iframe. [] instanceof Array; // true new Array() instanceof Array; // true ({}); // false -
Object.prototype.toString.call(): Metodo affidabile che evita problemi coninstanceofin diversi frame.// Restituisce una rappresentazione in stringa del tipo dell'oggetto. // Per gli array, restituisce "[object Array]". 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]" -
Verifica della proprietà
constructor: Meno affidabile, poiché la proprietàconstructorpuò essere modificata.// Verifica se il costruttore dell'oggetto è Array. [].constructor === Array; // true ({}).constructor === Object; // false
Il metodo più consigliato e affidabile nella maggior parte dei casi è usare Array.isArray().