Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

O que acontece?

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>
    var ingredientes = [];

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));

    var contador = 1;

    while(contador <= quantidade) {

        var ingrediente = prompt("Informe o ingrediente " + contador);
        var existe = false

        for(var posicao = 0; posicao < ingredientes.length; posicao++) {

             if(ingredientes[posicao] == ingrediente) {

                 existe = true;
                 break;
             }
        }

        if(existe == false) {

       ingredientes.push(ingrediente);
       contador++;
    }
}
    console.log(ingredientes);
</script>

Olá, agradeço a quem puder tirar minha dúvida: Alguém poderia me descrever passo a passo, "novamente", o que acontece nesse pedaço do código (exatamente com a entrada do "while"? "Em português", hehe, o que tá acontecendo aqui... Achei essa parte da aula bem difícil e tive que recorrer ao gabarito pra poder ver como fazer o código, mas não acho que isso seja problema enquanto eu não conseguir desenvolver por conta própria. Também não quero seguir adiante sem ter entendido o que acontece. Obrigado

1 resposta

Vamos lá!

Você instancia um array vazio que será sua lista de ingredientes; E solicita ao usuário qual o numero de ingredientes que você deseja inserir;

Inicializa um contador a partir do valor 1;

Na linha do While você irá percorrer o laço de 1 até o numero de ingredientes que você digitou;

Solicita ao usuário que digite o ingrediente que deseja inserir na lista;

Cria uma variavel booleana que diz que o ingrediente inserido não existe (iniciada com false);

Pega o seu array que é a lista de ingredientes e percorre ele inteiro (por isso vai de 0 até a length dele);

Para cada elemento dentro desse array (ingrediente na sua lista) ele verifica se é igual ao ingrediente que você deseja inserir agora, ou seja, se você digitou 'cenoura' o programa vai percorrer seu array buscando por cenoura, caso na busca ele encontre um ingrediente igual ao que você quer por agora ele coloca naquela variável 'existe' o valor TRUE, pois já foi cadastrado um ingrediente daquele;

Depois do for ele verifica se a 'existe' é false, se for significa que o ingrediente que você tentou inserir é novo e portanto deve ser inserido, daí ele executa a inserção por meio do ingredientes.push();

Ele soma 1 ao seu contador para que você possa inserir o prox ingrediente;

Volta ao todo do While e repete todo o processo novamente;

Como eu disse no começo esse while é repetido de 1 até o numero de ingredientes que foi indicado no primeiro Input;

Ao fim do While ele exibe no console a lista de ingredientes final.