Comment vérifier en JavaScript si une valeur existe à un certain indice de tableau ?

Cela fonctionnera-t-il pour tester si une valeur à la position "index" existe ou non, ou existe-t-il une meilleure méthode ?

if(arrayName[index]==""){
     // do stuff
}
Solution

Tous les tableaux en JavaScript contiennent des éléments array.length, en commençant par array[0] jusqu'à array[array.length - 1]. Par définition, un élément de tableau avec l'indice i est dit faire partie du tableau si i est compris entre 0 et array.length - 1 inclus.

En d'autres termes, les tableaux JavaScript sont linéaires, commençant par zéro et allant jusqu'à un maximum, et les tableaux n'ont pas de mécanisme permettant d'exclure certaines valeurs ou plages du tableau. Pour savoir si une valeur existe à un indice de position donné (où l'indice est 0 ou un nombre entier positif), il suffit littéralement d'utiliser

if (index < array.length) {
  // do stuff
}

Cependant, il est possible que certaines valeurs de tableau soient nulles, undefined, NaN, Infinity, 0, ou une multitude de valeurs différentes. Par exemple, si vous ajoutez des valeurs de tableau en augmentant la propriété array.length, toute nouvelle valeur sera undefined.

Pour déterminer si une valeur donnée est quelque chose de significatif, ou a été définie. C'est-à-dire, pas undefined, ou null :

if (typeof array[index] !== 'undefined') {

ou

if (typeof array[index] !== 'undefined' && array[index] !== null) {

Il est intéressant de noter que, grâce aux règles de comparaison de JavaScript, mon dernier exemple peut être optimisé comme suit :

if (array[index] != null) {
  // The == and != operators consider null equal to only null or undefined
}  
Commentaires (12)
if(!arrayName[index]){
     // do stuff
}
Commentaires (2)
if(arrayName.length > index && arrayName[index] !== null) {
    //arrayName[index] has a value
}
Commentaires (7)