Olá pessoal, tudo bem?
Escrevi este código para a aula, e minha dúvida é com relação à repetição dos números no arrays.
Eu comparei o meu código com o da aula e a única diferença que encontrei foi que eu decidi mudar a variável "segredos" para "numerosSecretos", porém o meu não funciona de jeito nenhum. Para tirar a dúvida, dei um "localizar e substituir" no meu código, mudando "numerosSecretos" para "segredos" e ainda assim não funcionou. Se eu fizer o oposto com a resposta da aula e substituir a variável "segredos" pela minha versão, o código funciona.
Já li e já reli e não consigo encontrar nada que possa causar essa diferença. Alguém pode dar uma mão?
////// MEU CÓDIGO - COM ESTE HÁ REPETIÇÃO DE NÚMEROS NO ARRAY //////
function sorteia() {
return Math.round(Math.random() * 10);
}
function sorteiaNumeros(quantidade) {
var numerosSecretos = [];
var numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
var achou = false;
for(var posicao = 0; posicao < numerosSecretos.length; posicao++) {
if(numerosSecretos[posicao] == numeroAleatorio) {
achou == true;
break;
}
}
if(achou == false) {
numerosSecretos.push(numeroAleatorio);
numero++;
}
}
return numerosSecretos;
}
var numerosSecretos = sorteiaNumeros(5);
console.log(numerosSecretos);
////// CÓDIGO DA AULA - FUNCIONA E EVITA A REPETIÇÃO //////
function sorteia() {
return Math.round(Math.random() * 10);
}
function sorteiaNumeros(quantidade) {
var segredos = [];
var numero = 1;
while (numero <= 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);
numero++;
}
}
return segredos;
}
var segredos = sorteiaNumeros(5);
console.log(segredos);