Olá pessoal, travei em uma parte aqui da aula, vamos lá vou tentar explicar bem minha dúvida, o código está assim:
<input type="text" id="numero" />
<input type="submit" id="advinhar" value="Compare meu segredo" />
var segredos = [16, 34, 37, 42, 50, 58];
var caixaNumero = document.getElementById("numero");
var achou = false;
var botaoClicado = function(){
for(var i = 0; i < segredos.length; i++){
if(segredos[i] == caixaNumero.value){
achou = true;
}
}
if(achou == true) {
alert("Parabéns você acertou!");
} else {
alert("Infelizmente você errou");
}
};
var botaoAdvinhar = document.getElementById("advinhar");
botaoAdvinhar.onclick = botaoClicado;
Na função botaoClicado temos o for que vai varrer o nosso array, eu queria entender melhor como funciona esse processo de varrer o array, por exemplo o usuário digitou 50 que é o nº4 no array, no momento a variável i é igual a 0 portanto menor que 6 que é o tamanho do array, então ele vai executar nosso if (segredos[i] == caixaNumero.value) i é igual a 0 e caixaNumero é igual a 4 então ele não vai para achou === true, ele volta para o incremento e i agora vale 2, assim sucessivamente até i valer 4, assim ele vai para achou == true e depois para o if achou == true e exibir a msg que o usuário acertou, é isso mesmo dessa forma que acontece estou com dúvidas se é ou não me ajudem. Agora na parte quando o usuário erra:
Se ele digita um nº que não tem no array, a função vai ser executada normalmento porque i é igual a 0 vai varrer todo o array até nº6 que é o tamanho dele e depois ir direto para else exibindo a msg que o usuário errou, é assim mesmo que acontece está tudo certo, estou na dúvida que seja de outra forma, se for me expliquem como é que funciona por gentileza. Muito obrigado!!!