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
}
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 propriedade
array.length', quaisquer novos valores serão `undefined'.
Para determinar se um determinado valor é algo significativo, ou se foi definido. Ou seja, não infinido', ou
nulo':
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
}