Até onde sei a loteria não sorteia números repetidos, mas o programa sugerido sorteia, então o programa não esta correto. Estou certo de pensar isso ou não consigo entender direito como o programa funciona?
Até onde sei a loteria não sorteia números repetidos, mas o programa sugerido sorteia, então o programa não esta correto. Estou certo de pensar isso ou não consigo entender direito como o programa funciona?
Lucas, o exercicio não pede que você valide numeros repetidos. A forma correta na Loteria que conhecemos realmente é não repetir. Eu fiz o exercício sem validar repetições. Mas nada te impede de validar as repetições, é bem simples e durante o curso vemos isso.
Lucas, eu achei muito controverso o programa permitir que sejam sorteados numeros repetidos. Daí lendo o forum aqui, eu vi que o método indexOf() pode nos ajudar. Veja no trecho de código abaixo: o indexOf vai varrer todo o vetor procurando o número. Se ele não achar nenhum igual, vai devolver o valor -1. No nosso caso, não achar o número sorteado dentro do array é ótimo pois e a certeza que ele não será um número repetido! Então podemos adicioná-lo sem erro!
var loteria = [];
while(loteria.length < 6){
var numeroSorteado = Math.round(Math.random() * 60);
if(loteria.indexOf(numeroSorteado) == -1 && numeroSorteado!=0){
loteria.push(numeroSorteado);
}
}
console.log(loteria);
Observe que eu também pergunto se o número é diferente de zero, pois a loteria permite números de 1 a 60. Não sei te afirmar se essa é a melhor forma de tirar o zero fora desse array, mas fiz os testes aqui e não apareceram nem repetidos e nem o 0.
Espero ter ajudado. :)
Fernando, sua dúvida foi solucionada? Caso tenha sido, feche o tópico :)
Muito obrigado Fernando e Josélia pelas respostas =D