No minuto** 16:24** temos que a var achou = false; está após o** if (numeroAleatorio !== 0) {** :
function sorteiaNumeros(quantidade) {
var segredos = [];
var numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
if (numeroAleatorio !== 0) {
** var achou = false;**
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
Contudo, na transcrição do exercício, temos a mesma variável FORA do if, diferente de como está no vídeo:
function sorteiaNumeros(quantidade) {
var segredos = [];
var numero = 1;
while(numero <= quantidade) {
** var numeroAleatorio = sorteia();
var achou = false;**
if (numeroAleatorio !== 0) {
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
if (achou == false) {
segredos.push(numeroAleatorio);
numero++;
}
}
}
return segredos;
Por favor, qual seria a versão CORRETA?
Adicionalmente, meu console.log no OPERA GX está mostrando os mesmos números ao invés de números randomizados... o que posso estar fazendo errado?
PS: Copiei e colei o código da transcrição e ainda assim deu errado no console.log do Opera... só funciona no console.log do Chrome?