<meta charset="utf-8">
<input/>
<button>Adivinhe pelo menos um número da minha lista</button>
<script>
function sorteia() {
return Math.round(Math.random() * 10);
}
function preencheLista(tamanhoArray) {
var lista = [];
var contador = 1
while(contador <= tamanhoArray) {
var numeroAleatorio = sorteia();
var jaExiste = false;
for(var posicao = 0; posicao < lista.length; posicao++) {
if(lista[posicao] == numeroAleatorio) {
jaExiste = true;
break;
}
}
if (jaExiste == false) {
lista.push(numeroAleatorio);
contador++;
}
}
return lista;
}
lista = preencheLista(5);
console.log(lista);
</script>
Estou fazendo por partes e testando, fiz a função que gera o número aleatório e a função que preenche o array "lista" com esses números. Quando eu verificava no console, lista aparecia como undefined. Atribuí o retorno da função preencheLista ao array lista, e fluiu. Mas não entendo. Por que é necessário atribuir valor para lista, se a função já retorna o "valor" da lista completa?