1
resposta

Forma diferente e creio que economizou muitas linhas de códigos.

<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);

        if(ingredientes.includes(ingrediente)){
            alert("ingrediente já existente");
        }else{
            ingredientes.push(ingrediente);
        }

        contador++;
    }

    console.log(ingredientes);
</script>
1 resposta

Oi, Heitor, como vai?

Boa resolução! Mas existe um bug em seu código.

O bug é que a variável contador aumenta de valor mesmo quando um ingrediente inserido é igual a outro que já estava na lista, fazendo com que não seja inserido o número correto de ingredientes. Para resolver isso, basta colocar o contador++ dentro da condição else, assim o valor do contador só será incrementado quando um elemento realmente for adicionado na lista.

Espero ter ajudado.

Abraços e bons estudos!