Junior
Come determinare se una variabile contiene un array?
sobes.tech AI
Risposta dell'AI
Il metodo più affidabile è usare Array.isArray():
// Verifica se il valore è un array
Array.isArray(miaVariabile);
Questo metodo restituisce true se la variabile è un array, e false altrimenti, indipendentemente dal contesto di esecuzione o altri fattori.
Altri metodi meno affidabili includono:
-
typeof:// Per gli array, typeof restituisce 'object' typeof miaVariabile === 'object';È poco affidabile, poiché
typeofrestituisce'object'per molti tipi di dati, non solo per gli array (oggetti, null). -
instanceof:// Verifica se l'oggetto è un'istanza della classe Array miaVariabile instanceof Array;Può essere poco affidabile quando si lavora con iframe o finestre con diversi contesti di esecuzione JavaScript, dove
Arraydi un contesto differisce daArraydi un altro. -
Verifica del costruttore:
// Verifica se il costruttore della variabile è Array miaVariabile.constructor === Array;Può anche presentare problemi in diversi contesti di esecuzione.
Tabella riassuntiva:
| Metodo | Affidabilità | Descrizione |
|---|---|---|
Array.isArray() |
Alta | Specifico per verificare gli array. |
typeof miaVariabile |
Bassa | Per gli array restituisce 'object'. |
miaVariabile instanceof Array |
Moderata/Bassa (a seconda del contesto) | Verifica se appartiene alla classe Array. |
miaVariabile.constructor === Array |
Moderata/Bassa (a seconda del contesto) | Verifica la proprietà constructor. |
Pertanto, Array.isArray() è il metodo preferito e più affidabile.