Olá, Hugo. Tudo bem?
Repare que neste trecho
for(var posicao = 0; posicao < chuteCerto.length; posicao++){
if(chuteCerto[posicao]==numeroSorteado){
achou = true;
break;
}
if(achou==false){
chuteCerto.push(numeroSorteado);
numero++;
}
}
Você colocou o segundo if dentro do for também, mas só o primeiro deveria estar, pois o segundo é executado depois do for para somar a variável numero, que é o contador do seu while while(numero <= quantidade)
. Então da forma que está, a variável numero nunca é incrementada a condição para sair do loop nunca é alcançada.
Se você retirar o segundo if de dentro do for, acredito que o loop infinito pare de acontecer:
for(var posicao = 0; posicao < chuteCerto.length; posicao++){
if(chuteCerto[posicao]==numeroSorteado){
achou = true;
break;
}
}
if(achou==false){
chuteCerto.push(numeroSorteado);
numero++;
}
Espero ter ajudado.