¿Cómo compruebo en JavaScript si existe un valor en un índice de matriz determinado?

Funcionará esto para comprobar si un valor en la posición "index" existe o no, o hay una forma mejor:

if(arrayName[index]==""){
     // do stuff
}
Solución

Todos los arrays en JavaScript contienen elementos array.length, empezando por array[0] hasta array[array.length - 1]. Por definición, se dice que un elemento de la matriz con índice i es parte de la matriz si i está entre 0 y array.length - 1 inclusive.

Es decir, los arrays de JavaScript son lineales, empezando por cero y llegando a un máximo, y los arrays no tienen un mecanismo para excluir ciertos valores o rangos del array. Para saber si un valor existe en un índice de posición dado (donde el índice es 0 o un entero positivo), literalmente sólo hay que usar

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

Sin embargo, es posible que algunos valores de la matriz sean nulos, indefinidos, NaN, Infinito, 0, o toda una serie de valores diferentes. Por ejemplo, si se añaden valores al array aumentando la propiedad array.length, los nuevos valores serán undefined.

Para determinar si un valor dado es algo significativo, o ha sido definido. Es decir, no undefined, o null:

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

o

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

Curiosamente, debido a las reglas de comparación de JavaScript, mi último ejemplo puede ser optimizado hasta esto:

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