devo memorizzare dei valori in una select solo se sono definiti.

i valori li prelevo da un array ma alcune posizioni non sono definite:
codice:
for (i=0;i<nome_array.length;i++){
  if (nome_array[i]){
    source.options[i] = new Option(nome_array[i],i);
  }
}
quello che ottengo è una lista fino al primo undefined, perchè non va avanti anche con le altre posizioni?