Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] si acierto no hay problemas, pero si erró da error y se traba el programa.¿donde ésta el error?

<meta charset="UTF-8">

<input/> 
<button>Verificar si acerto el numero</button>

<script>
    function aleatorio() {

        return Math.round(Math.random()*10); 
    } 

    function sortearNumeros(cantidad) {
        var secretos = [];
        var contador = 1;

        while(contador<=cantidad){
            var numeroAleatorio = aleatorio();
            console.log(numeroAleatorio)
            var encontrado = false;

            if (numeroAleatorio != 0){
                for (var posicion = 0; posicion < secretos.length; posicion++) {
                    if (numeroAleatorio == secretos[posicion]) {
                        encontrado = true;
                        break;
                    }

                }

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


            }


        }

        return secretos

    } 

    var secretos = sortearNumeros(4);

    console.log(secretos)


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

    function verificar() {

        var encontrado = false;

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

            if (parseInt(input.value) == secretos[posicion]) {

            alert("Usted acertó");
            encontrado = true;
            break;

            }
        }

        if (encontrado == false) {

            alert("usted erró");
        }

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

    }

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


</script>
1 respuesta

En tu ciclo for de tu función verificar, no especificas bien hasta donde llega el ciclo, te falta volver a anotar la variable posicion.

Falta escribir posicion

Debería quedarte de la siguinete manera:

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