1
resposta

[Dúvida] ERRO

Bom dia! Por favor me reesponda, o outro tópico n tirou totalmente minha dúvida

<meta charset="UTF-8"><script>
 
 function sorteia(){
     return Math.round(Math.random()*10);
 }
 function sorteiaNumeros(qtd){
  var numeros = [];
  var numero = 1;
  while (numero<=qtd){
      var numeroAleatorio = sorteia();

 
  if (numeroAleatorio!=0){
      var achou = false;
      for (var posicao = 0; posicao < numeros.length; posicao++);{
          if(numeros[posicao] == numeroAleatorio){
              achou = true;
              break;
          }
      }
      if (achou == false){
          numeros.push(numeroAleatorio);
          posicao++;
      }
  }
}
return numeros;

}
var numeros = sorteiaNumeros(5);
alert(numeros)





 
</script>
1 resposta

Oi, Flavio! Como vai?

Obrigado por compartilhar seu código com a comunidade Alura.

Gostei de como você utilizou a função sorteia() para gerar números aleatórios. Isso é útil para muitos cenários de sorteio ou randomização! No entanto, parece que o problema está na linha onde você está usando um ponto e vírgula extra no for, o que está encerrando o loop prematuramente. Isso pode estar impactando a lógica do seu código.

Veja como ajustar seu código removendo o ponto e vírgula após o for:

for (var posicao = 0; posicao < numeros.length; posicao++) {
    if (numeros[posicao] == numeroAleatorio) {
        achou = true;
        break;
    }
}

Isso fará com que o loop funcione corretamente e verifique se o número aleatório já foi sorteado.

Conte com o apoio do Fórum na sua jornada.

Abraços e bons estudos!