2
respuestas

Validando duplicados solo con FOR (El instructor lo hace con 1 while)

<meta charset="UTF-8">

<h2>PROGRAMA "ADIVINANZAS 2"</h2>

<input/>
<button>Verifica si acertaste</button>

<script>
    function aleatorio () {
        return Math.round(Math.random()*10);
    }

    function sortearNumeros(cantidad) {
        var secreto=[];

        for (var contador = 1; contador <= cantidad; contador) {
            var numeroAleatorio = aleatorio();
            console.log(numeroAleatorio)
            var encontrado = false;
            for(var posicion = 0; posicion < secreto.length; posicion++) {
                if (numeroAleatorio == secreto[posicion]) {
                    encontrado = true;
                }
            }

            if (encontrado == false) {
            secreto.push(numeroAleatorio);
            contador++;
            }
        }

        return secreto

    }

    var secreto = sortearNumeros(4);

    console.log(secreto)


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

    function verificar() {

        var encontrado = false;

        for(var posicion = 0; posicion < secreto.length; posicion++) {

                if (parseInt(input.value) == secreto[posicion]) {
                    alert("Acertaste!! igual no ganas nada");
                    encontrado = true;
                    break;
                }
        }

        if(encontrado == false) {
            alert("Erraste!! Igual no pierdes nada");
        }

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

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

</script>
2 respuestas

muy buen aporte compañero

También lo hice con dos FOR, siento que es más ordenado. Saludos !