3
respuestas

El codigo que hice con el profesor me presenta un error de identacion pero no logro encontrarlo.

<meta charset="utf-8">

<input/>
<button>Verificar si acertó con el secreto</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; posicion <= secretos.length; posicion++) {

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

            alert("Usted acerto")
            encontrado == true;
            break;

                }

            }

            if (encontrado == false) {

                alert("Usted erró");

            }


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

    }


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


</script>
3 respuestas

Hola creo que el problema esta con tus ciclos for, estas colocando que inicien en 0 y terminen cuando sean menores o iguales al tamaño de tu arreglo, el problema de esto es que llega un punto en que tu ciclo recorré todas las posiciones de tu arreglo y luego recorre una más. En ese caso sería sustituir tu <= por el < como en el siguiente ejemplo for(var i=0; i < arreglo.length; i++)

Lo probé y aun así me sigue saliendo el mismo error "Unexpected end of input" y me señana la ultima linea de codigo cuando cierro el

En tu linea 40 deben ser 3 } seguidos. te falta uno eso deberia resolver el problema