Encontrei aqui no fórum uma forma mais simples de verificar se o número é repetido ou não para incluir na lista ou não, utilizando .includes. Segue:
<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 numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
if(numeroAleatorio !== 0 ) {
if(segredos.includes(numeroAleatorio)) {
}
else {
segredos.push(numeroAleatorio);
numero++;
}
}
}
return segredos;
}
var segredos = sorteiaNumeros(5);
console.log(segredos);
var input = document.querySelector("input");
input.focus();
function verifica() {
if(segredos.includes(input.value)){
alert("Você ACERTOU!");
}
else{
alert("Você ERROU!");
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>
Funciona normalmente para não repetir na lista. Porém ao tentar a mesma estratégia para verificar se o input está ou nã incluso na lista (final do código), não consigo obter o alerta de vc acertou, mesmo escolhendo um número que está na lista. Alguém pode ajudar a resolver?