1
respuesta

Por favor ¿alguien ve el error?

<meta charset="utf-8">
 <input/>
 <button> Verificar si acertó con el secreto</button>

 <script>
    var secretos = [3,5,7,9];

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

    input.focus();

    function verificar (){
        var encontrado= false;
        for (var posicion = 0;posicion<4;posicion++){
            if (parseInt(input.value) == secretos){
                alert("Usted acertó");
                encontrado=true;
                break;
            }
        }
        if (encontrado=false){
            alert("Erro")
        }          
        input.value = "";
        input.focus();
    }
    var button = document.querySelector("button");
    button.onclick = verificar;
 </script>
1 respuesta

Hola,

La variable secretos es un arreglo que se accede mediante un índice. Si bien, creaste un for con la intención del índice, faltó agregar en el if secretos[posicion]

if (parseInt(input.value) == secretos[posicion]){
                   alert("Usted acertó");
                   encontrado=true;
                   break;
               }

Luego, en el siguiente if, para comparar se hace con 2 o 3 signos iguales:

if (encontrado===false){
               alert("Erro")
           }   

Si utilizas un solo signo =, lo que sucede es que estás cambiando el valor y no comparando.

Saludos.