Questo funzionerà per verificare se un valore nella posizione "index" esiste o no, o c'è un modo migliore:
if(arrayName[index]==""){
// do stuff
}
Tutti gli array in JavaScript contengono elementi di array.length
, a partire da array[0]
fino a array[array.length - 1]
. Per definizione, un elemento dell'array con indice i
si dice che fa parte dell'array se i
è compreso tra 0
e array.length - 1
compreso.
Cioè, gli array JavaScript sono lineari, iniziano con zero e vanno verso un massimo, e gli array non hanno un meccanismo per escludere certi valori o intervalli dall'array. Per scoprire se un valore esiste ad un dato indice di posizione (dove l'indice è 0 o un intero positivo), si usa letteralmente
if (index < array.length) {
// do stuff
}
Tuttavia, è *possibile che alcuni valori dell'array siano null, undefined
, NaN
, Infinity
, 0, o tutta una serie di valori diversi. Per esempio, se si aggiungono valori all'array aumentando la proprietà array.length
, ogni nuovo valore sarà undefined
.
Per determinare se un dato valore è qualcosa di significativo, o è stato definito. Cioè, non undefined
, o null
:
if (typeof array[index] !== 'undefined') {
o
if (typeof array[index] !== 'undefined' && array[index] !== null) {
È interessante notare che, a causa delle regole di confronto di JavaScript, il mio ultimo esempio può essere ottimizzato a questo:
if (array[index] != null) {
// The == and != operators consider null equal to only null or undefined
}