1
resposta

Resolvido - Não existe ingrediente repetido aqui!

Coloquei os ingredientes visiveis.

Senti um pouco de dificuldade, pois no primiero momento tentei usar função (function), mas a principio não funcionou, então consegui pelo modo abaixo.

<meta charset="UTF-8">
<h1>Receitas do Yan</h1>
<br>

<script>

function pulaLinha () {

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

}

function mostra(frase) {

document.write(frase);
pulaLinha();

}

     var ingredientes = [];
     var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
     var contador = 1;
     var nomeReceita = prompt("Qual o nome da receita?");


     while(contador <= quantidade) {

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

        if(ingrediente !== ingredientes){
            var achou = false

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

               if (ingredientes[posicao] == ingrediente){
                achou = true
                alert("Ingrediente repitido!")
                break

               }
            }

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

    }
    mostra("A receita será  " + nomeReceita + "  com  " + quantidade +" itens:"); 
    // o index retorna o primeiro elemento do array, ou seja retorn o -1
    //caso ele não esteja presente.  
    for (let index = 0; index < ingredientes.length; index++) {
        mostra(ingredientes[index]);
    }

mostra("<a1>" + "Não se esqueça de fazer!!!" + "</a1>")

</script>
1 resposta

Oi Carla,

Ficou bem legal seu código! Eu coloquei algumas functions ...

<meta charset="UTF-8">
<h1>Receitas do Yan</h1>
<br>

<script>

    var contador = 1;
    var ingredientes = [];
    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
    var nomeReceita = prompt("Qual o nome da receita?");

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

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    function mostraListaDe(ingredientes) {
        for (let index = 0; index < ingredientes.length; index++) {
            mostra(ingredientes[index]);
           }
    }    

    function executaPrograma() {

        while (contador <= quantidade) {

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

            if (ingrediente !== ingredientes) {

                var achou = false

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

                    if (ingredientes[posicao] == ingrediente) {
                        achou = true
                        alert("Ingrediente repitido!")
                        break
                    }
                }

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

        }
    }

    executaPrograma();

    mostra("A receita será  " + nomeReceita + "  com  " + quantidade +" itens:"); 

    mostraListaDe(ingredientes)

    mostra("<a1>" + "Não se esqueça de fazer!!!" + "</a1>")

</script>