Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Números repetindo

Olá pessoal, A minha dúvida é a seguinte, tentei fazer com que o código não repetisse o mesmo número dentro do array, mas de alguma forma não estou conseguindo corrigir esse erro, pois o código continua repetindo números dentro do array. Eu comecei o código do 0, ou pelo menos tentei, e mesmo assim continua repetindo os números, há condições de alguém me dizer onde está o erro no meu código. Desde já agradeço

<meta charset="UTF-8">

<input/>
<button> Compare com o meu segredo </button>

<script>

    function sorteia(){
        return Math.round(Math.random() * 10);
    }

    function sorteiaNumeros (quantidade) {

        var segredos = [];

        var numero = 1;

        while ( numero <= quantidade) {

            segredos.push(sorteia());
            numero++;
        }

        return segredos;

    }    
    var segredos = sorteiaNumeros(3);
    console.log(segredos);

    var input = document.querySelector("input");
    input.focus();

    function verifica() {

        var achou = false;

        for (var posicao = 0; posicao < segredos.length ; posicao++){

            if(input.value == segredos[posicao]){

                alert("Você acertou!");
                achou = true;
                break;
            } 
        }

        if (achou == false ) {
            alert ("Você ERROU ! ! !");    
        }



            input.value ="";
            input.focus();
    }

    var button = document.querySelector("button");

    button.onclick = verifica;

</script>
4 respostas

Tentei acompanhar baixar o código feito pelo instrutor , mas gostaria de saber onde errei . obrigado

solução!

Oi Kevin tudo bem?

Dá uma olhadinha como eu fiz no seu código.

<meta charset="UTF-8">

<input/>
<button> Compare com o meu segredo </button>

<script>

    function sorteia(){
        return Math.round(Math.random() * 10);
    }

    function sorteiaNumeros (quantidade) {

        var segredos = [];

        var numero = 1;

        while ( numero <= quantidade) {
            var numeroSorteado=sorteia();
            var boolRepetido=false;
            for (var k=0;k<segredos.length;k++){
                if (segredos[k]==numeroSorteado){
                    boolRepetido=true;
                    break;
                }
            }

            if (boolRepetido==false){
                segredos.push(numeroSorteado);
                numero++;
            }


        }

        return segredos;

    }    
    var segredos = sorteiaNumeros(3);
    console.log(segredos);

    var input = document.querySelector("input");
    input.focus();

    function verifica() {

        var achou = false;

        for (var posicao = 0; posicao < segredos.length ; posicao++){

            if(input.value == segredos[posicao]){

                alert("Você acertou!");
                achou = true;
                break;
            } 
        }

        if (achou == false ) {
            alert ("Você ERROU ! ! !");    
        }



            input.value ="";
            input.focus();
    }

    var button = document.querySelector("button");

    button.onclick = verifica;

</script>

Espero ter ajudado!!!!

Muito obrigado pela ajuda ! Agora sim entendi o erro, valeu

Disponha e bons estudos!!!