1
resposta

Depois de muitas tentativas acho que cheguei onde queria. Poderiam avaliar?

<meta charset="UTF-8">

<h1>Receitas do Cleber</h1>

<script>
    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }
    //Objetivo do programa é solicitar ao usuário uma quantidade de ingredientes que serão adicionados na receita e depois solicitar quais são esses ingredientes. Por fim iremos mostrar quais ingredientes foram adicionados.


    var ingredientes = [];

    //Variável que solicita ao usuário a quantidade de ingredientes.
    var quantidade = parseInt(prompt("Quantos ingredientes teremos nesta reiceita?"));

    var contador = 1;

    //Enquanto nosso contador for menor ou igual a quantidade digitada pelo usuário, faremos a solicitação de inclusão de mais ingredientes.
    while( contador <= quantidade) {

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

        var check = false;

        for (var qtdIngrediente = 0; qtdIngrediente < ingredienteDigitado.length; qtdIngrediente++) {
            //Se a variável ingrediente que recebeu o Aray de qtdIngrediente for igual a quantidade de ingrediente digitado da variável ingredienteDigitado o programa "para" pois a variável check recebeu "true"
            if (ingredientes [qtdIngrediente] == ingredienteDigitado){
                alert ("Ingrediente já adicionando");
                check = true;

                break;
            }    
        }
        //Coomo a variável check recebeu false, enquanto a informação digitada for diferente uma da outra ele executa o If abaixo, adicionando o valor digitado pelo usuário na variável ingrediente 
        if (check == false){

            ingredientes.push(ingredienteDigitado);
            //Mostra a lista de ingredientes digitadas pelo usuário
            mostra (ingredienteDigitado);

            contador++;
           }

    }


</script>
1 resposta

Olá meu parceiro, tudo em paz?

Olha sou iniciante, fiquei muito intrigado com seu código, na linha onde você define o for() para que o programa exiba o alert, você colocou ali nas condições "ingredienteDigitado.length"

for (var qtdIngrediente = 0; qtdIngrediente < ingredienteDigitado.length; qtdIngrediente++) {

            if (ingredientes [qtdIngrediente] == ingredienteDigitado){
                alert ("Ingrediente já adicionando");
                check = true;

                break;
            }    

Mas o .length retorna o comprimento da string, estou errado?

Ou seja, se eu insiro 10 ingredientes e o primeiro ingrediente é "uva"

Na primeira verificação "ingredienteDigitado.length" não vai me retornar o valor "3" ?

Não consegui entender como essa parte do seu código está funcionando... E abrindo o console, mesmo após digitar todos os ingredientes, qtdIngrediente = 1

Preciso de luz! kkk