Olá Daniel, vi o código que você postou acima, e inicialmente eu não entendi direito o que você queria, mas fazendo os passos citados, percebi que havia repetição quando eram exibidos os valores acertados.
Notei também que essa repetição crescia de acordo com a quantidade de acertos.
E a correção foi relativamente simples para esse problema. Simplesmente troquei um fecha chaves de local e funcionou direito. Vou postar o código abaixo para com alguns comentários informando onde foram feitas as alterações. Mas antes vamos a alguns detalhes.
O código abaixo não existe:
sorteados.lenght=6;
quando você coloca vetor.length é a mesma coisa que você pedir o tamanho do vetor, não para determinar o tamanho dele. Sinceramente, eu não conheço muito bem JavaScript somente o que vi aqui no curso, mas também nunca testei isso no Java por exemplo, mas creio que não é aceito tal instrução. Mas o length serve, realmente, para exibir para você o tamanho do vetor.
Outro ponto é no FOR:
for(var i=0;i<=6;i++){
sorteados[i]=Math.round(Math.random()*60);
};
O código acima funciona muito bem, porém com um pequeno problema, o sorteio deve ter 6 números e o for acima está sorteando 7 números. Isso acontece devido o vetor iniciar na posição 0 e o seu loop também está iniciando na posição 0. Você poderia ter feito for(int i = 1... mas isso não seria muito legal para o vetor...
E em outro ponto que deve ser observado é a indentação, mas isso vem com o tempo.
E uma dica para o programa, no sorteio não deixe ele sortear o zero (acho que quando eu fiz esse exercício eu deixei que isso aconteça) e evitar que no sorteio venha números repetidos também.
Segue o programa, tem uns comentários feitos, e espero que ajude, qualquer dúvida é só postar aí.
<input type="text" id="numero"/>
<input type="submit" id="verificar" value="Chutar"/>
<script>
var sorteados=[];
var palpites=[];
var acertos=[];
//sorteados.lenght=6; // Isso não pode ser feio, nem sei se funciona
for(var i=1;i<=5;i++){ // foi altara de i<=6 para i<=5 pois o vetor inicia em 0, ou seja, sua primeira posição é zero
sorteados[i]=Math.round(Math.random()*60);
};
alert("Você tem que chutar 6 números diferentes de 1 a 60");
console.log(sorteados)
acertos.length<=6;
var adicionarpalpite=function(){
var palpite=document.getElementById("numero").value;
for(var i=0;i<=palpites.length;i++){
if(palpite==palpites[i]){
alert("Este número já foi escolhido");
return;
}
if(palpite>60){
alert("Este número é maior que 60 e não pode ser escolhido");
return;
}
} // a maior mudança feita foi essa, fechei essas chaves nesse ponto, no código postado elas estavam sendo fechadas depois do loop
for(var j=0;j<=sorteados.length;j++){
if(palpite==sorteados[j]){
console.log(palpite + " " + sorteados[j]);
parseInt(acertos.push(palpite));
}
}
//} //onde estava sendo fechado as chaves na proposta original.
parseInt(palpites.push(palpite));
console.log(palpites);
if (palpites[5]){
alert("Pronto! Você já inseriu os seis números");
if (acertos!=0){
alert("Você acertou "+acertos.length+" números, que foi/foram "+acertos);
}else{
alert("Que pena! Você não acertou nenhum número");
}
var denominador=60*59*58*57*56*55*54;
var probabilidade=1/denominador;
alert("A probabilidade de vc acertar todos os algarismos sorteados é "+probabilidade);
}
}
var botao=document.getElementById("verificar");
botao.onclick=adicionarpalpite;
</script>
Espero ter ajudado
Obs.: acho que deixei alguns console.log no meio do código.