2
respostas

Consegui fazer e deixei comentários para quem estiver perdido igual a mim ainda.

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>

    var ingredientes = [];
    // array onde serão inseridos todos os ingredientes.

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
    // Aqui esta perguntando quantas vezes o programa irá realizar as repetições antes completar.

    var contador = 1;
    // Inicio do contador.

    while( contador <= quantidade) {
    // Declaração das repetições com o contador sendo iniciado do valor original dele.
    // E também a inserção do numero de vezes que será repetido este comando.

        var ingrediente = prompt("Informe o ingrediente " + contador);
        // Aqui será inserido os nomes das frutas concatenados ao valor do contador.
        // Cada ingrediente inserido neste ponto, será transformado em variáveis.
        // O programa enxergar dessa forma aqui. Exemplo; uva1.

        var existe = false
        // Esta variável será usada como parâmetro de comparação.

        for(var posicao = 0; posicao < ingrediente.length; posicao++){
        // Aqui esta sendo criado uma segunda repetição dentro da repetição do "while".
        // Com o intuito de afunilar e comparar as informações.

            if(ingredientes[posicao] == ingrediente){
            // Aqui esta realizando a comparação dos parâmetros.
            // Caso os parâmetros sejam iguais entraram nas condições do "if".
                existe = true;
                // Aqui já esta dentro do "if" e a variável criada mais acima para comparação aqui se torna positiva.
                break;
                // Com a variável se tornando positiva e estando dentro da condição "if" a sequencia de repetição do "for" é quebrada.
            }
        }

        if(existe == false){
        // Aqui se variável "existe" estiver na condição de false, entrara nas condições de um "if".
            ingredientes.push(ingrediente);
            // Dentro das condições do "if" será perguntado o nome do ingrediente novo.
            contador++;
            // E aqui o contador é incrementado, para o "while" verificar se deve ou não realizar mais uma serie de repetições.
        }

    }

    console.log(ingredientes);
    // Aqui será deixado as informações de todos os ingrediente informados no console do navegador,
</script>
2 respostas

Olá Leonardo tudo bem ?

Primeiramente gostaria de te dar meus Parabéns por sua dedicação em entender o código e comentar oque cada linha faz , isso ajuda muito para quem vai estar lendo o código principalmente para pessoas que estão iniciando no mundo da programação . =)

Mas eu estava testando seu código aqui e reparei que no console , quando passado os valores , dentro do array ele acaba duplicando :

Imgur

Nesse caso eu passei que o valor do ingrediente é 2 passando Sal e cebola mas dentro do array o correto seria que a posição 0 fosse Sal e posição 1 cebola . Isso ocorreu devido a linha 50 :

ingredientes.push(ingrediente);

Nesse caso não teria necessidade dessa linha já que o intuito do código é receber os valores e listar os ingredientes dentro do array trazendo a posição de cada ingrediente listado. Lembrando que na linha 44 dentro do escopo do if essa linha de código já existe:

if(existe == false){
            ingredientes.push(ingrediente);
            contador++;
}

Então você poderia optar em retirar a linha 50 que seu código vai funcionar perfeitamente sem fazer uma duplicação dentro do array. =)

Mas de qualquer forma Parabéns por sua dedicação e desempenho no desenvolvimento da atividade , continue assim que você vai evoluir muito . =)

Espero ter ajudado e lembre-se qualquer dúvida é só mandar aqui no fórum que ficaremos muito felizes em poder te ajudar.. =)

Abraços e bons estudos !!!

Corrigi aqui no post, obg pela dica.