Como posso verificar no JavaScript se existe um valor em um determinado índice de array?

Será que isto funcionará para testar se um valor na posição "index" existe ou não, ou se existe uma maneira melhor:

if(arrayName[index]==""){
     // do stuff
}
Solução

Todos os arrays em JavaScript contêm elementos array.length, começando com array[0] até array[array.length - 1]. Por definição, um elemento de array com índice i é dito ser parte do array se i estiver entre 0 e array.length - 1 inclusive.

Ou seja, arrays JavaScript são lineares, começando com zero e indo ao máximo, e arrays don't têm um mecanismo para excluir certos valores ou intervalos do array. Para descobrir se um valor existe em um determinado índice de posição (onde o índice é 0 ou um inteiro positivo), você literalmente apenas usa

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

No entanto, é possível que *alguns valores de array sejam nulos, infinidos',NaN', infinito', 0, ou uma série de valores diferentes. Por exemplo, se você adicionar valores de array aumentando a propriedadearray.length', quaisquer novos valores serão `undefined'.

Para determinar se um determinado valor é algo significativo, ou se foi definido. Ou seja, não infinido', ounulo':

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

ou

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

Curiosamente, por causa das regras de comparação JavaScript's, o meu último exemplo pode ser optimizado até aqui:

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