Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Exercício finalizado "Não existe ingrediente repetido"

Demorei um dia inteiro para resolver, mas o resultado foi muito bom! segue o código com os comentários.

<script>        
        function pulaLinha(){
            document.write("<br>");
        }
        function mostra(frase){
            document.write(frase);
            pulaLinha();
        }

        function totalDeIngredientes (quantidade){ /* Criada a função totalDeIngredientes com um parâmetro definido por uma variável que será definido pelo usuário mais abaixo.*/
            /* A descrição da instrução da função fica dentro das chaves.*/
            var ingredientes = []; //Criada a array com a lista vazia para receber os .pushs gerados no while.
            var contador = 1; /* Criado a variável contador que recebe o número 1 que será comparado com a quantidade de ingredientes fornecido pelo usuário.*/
            while( contador <= quantidade) {/*contador se compara com a quantidade de ingredientes fornecida pelo usuário.*/
                 ingrediente = prompt("Informe o ingrediente " + contador); /*var igrediente recebe a informação do ingrediente fornecido pelo usuário.*/

                 var compara = false

                 for(var posicao = 0; posicao<ingredientes.length; posicao++){ /*Faz a verificação dentro dos itens do array e, caso seja repetido (==), não executa a instrução.*/
                        if(ingredientes[posicao] == ingrediente){
                            compara = true;
                            break;
                        }
                        }
                if(compara == false){
                    ingredientes.push(ingrediente);  /* Executa o acréscimo do ingrediente dentro do array, caso o ingrediente não seja repetido (false).*/  
                    contador++  /*contador é pós incrementado antes de iniciar um novo loop que será comparado novamente com a quantidade de ingredientes informado pelo usuário.*/ 
                }                                              
            }
            return ingredientes; /* Os ingredientes informados e lançados dentro do array são guardados na variável ingredientes para mostrar quando solicitado.*/                          
        }

        var ingredientes = totalDeIngredientes(parseInt(prompt("Quantos ingredientes você vai adicionar?"))); /*Criada uma variável que recebe a execução da função totalDeIngredientes criada acima onde é solicitado ao usuário para fornecer o parâmetro de quantidade de ingredientes.*/

        document.write(ingredientes);

        console.log(ingredientes);
</script>
2 respostas
solução!

Olá George! Tudo bem?

Percebi que está se esforçando em praticar bastante com as aulas, e tem desenvolvido seus próprios exemplos de código!

Praticar dessa forma, treinando e tentando fazer do seu jeito as soluções para os desafios, além de te ajudar a entender melhor o conteúdo, também ajuda outros colegas a verem formas diferentes de aplicar o conhecimento!

Sinta-se sempre à vontade para compartilhar conosco suas dúvidas ou soluções!

Bons estudos! 😄

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Obrigado, Guilherme! Depois que concluí e conferi o resultado, verifiquei que o código do professor era bem mais simples do que o meu. Entendi que devo sempre pensar em uma forma mais simples possível quando estiver desenvolvendo uma lógica. Mas no final, achei legal ver que tudo estava funcionando. Obrigado pelo incentivo! Estou descobrindo muita coisa nova e colocando a cabeça para funcionar.