Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Sugestão] Outra possibilidade para evitar números repetidos

Achei mais sucinto e fácil de entender trabalhar com while e if desta maneira:

 while(sorteados.length < quantidadeNumeros) {
    numero = gerarNumeroAleatorio(numeroInicial, numeroFinal)
    if(!sorteados.includes(numero)) {
      sorteados.push(numero)
    }
  }

Leio desta forma: ENQUANTO o tamanho do array sorteados for menor que a quantidade de números, gere um numero aleatório, SE o número sorteado NÃO estiver incluído no array Empurre-o para o array sorteados.

no lugar de:

for(let i = 0; i < quantidadeNumeros; i++){
    numero = gerarNumeroAleatorio(numeroInicial, numeroFinal)
    while(sorteados.includes(numero) {
        numero = gerarNumeroAleatorio(numeroInicial, numeroFinal)
    }
    sorteados.push(numero)
}

Existem vários caminhos para chegar ao mesmo resultado e acho que o aprendizado passa por tentar de diversas formas.

2 respostas

Olá, Daniel!

A sua sugestão de usar o while junto com o if realmente torna o código mais sucinto e fácil de entender.

Ambas as abordagens são válidas e funcionam bem. A escolha entre uma e outra pode depender da preferência pessoal e do contexto em que estão sendo usadas.

Bons estudos!

solução!

Obrigado professor, estou aprendendo e gosto de tentar refatorar e tentar outras formas, e se ajudar alguem maravilha. Ótimo curso parabéns para vc e a Jaqueline. Vou começar a aula 2 agora.