Por que ele está gerando apenas 4 números se eu coloquei 5 dentro da função sorteiaNumeros? E se eu colocar posicao = 1 ele nunca gera o número 0. Isso faz a regra do !== ser desnecessária?
O que estou fazendo de errado?
<meta charset="UTF-8">
<input/>
<button>Compare com o meu segredo</button>
<script>
function sorteia() {
return Math.round(Math.random() * 10);
}
function sorteiaNumeros(quantidade) {
var segredos = []
var contador = 1;
while(contador < quantidade){
var numeroAleatorio = sorteia();
var achou = false;
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
if (achou == false){
segredos.push(numeroAleatorio);
contador++;
}
}
return segredos;
}
var segredos = sorteiaNumeros(5);
console.log(segredos);
var input = document.querySelector("input");
input.focus();
function verifica() {
var achou = false;
for(var posicao = 0; posicao < segredos.length; posicao++)
{
if (input.value == segredos[posicao]) {
alert("Você acertou!");
achou = true;
break;
}
}
if(achou == false) {
alert("Você errou. ")
}
input.value = ""
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>