Olá! Achei bem interessante a forma que o instrutor Flávio dá uma "lida" no código das aulas, destrinchando pra gente o que significa tudo que foi feito ali. como sou iniciante, estou adotando essa "leitura" nos exercícios e aulas que faço no VS Code, então resolvi compartilhar meu exercício resolvido abaixo com as anotações. Pelo menos para mim, tem sido uma boa forma de compreender as funções e instruções e assimilar melhor o conteúdo. Abraço!
<meta charset="UTF-8">
<h1>Receitas do Yan</h1>
<script>
    //Criamos a array que será alimentada:
    var receita = [];
    //Criamos uma variável que armazenará a quantidade de ingredientes fornecidos pelo usuário
    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
    var contador = 1;
    //Enquanto o contador for menor ou igual à quantidade fornecida...
    while( contador <= quantidade) {
        //...o prompt pede o nome do ingrediente X...
        var ingrediente = prompt("Informe o ingrediente " + contador);
        //...e isso caracteriza que o item ainda não existe na lista:
        var existe = false;
        //O programa faz uma varredura da posição 0 até a última posição do comprimento (length) da array e...
        for(var posicao = 0; posicao < receita.length; posicao++){
            //...se o ingrediente for encontrado em alguma posição...
            if(receita[posicao] == ingrediente){
                //...o item já existe (true)...
                existe = true;
                //...e o processo encerra e volta pro ponto inicial.
                break;
            }
        }
        //Porém, se após a verificação acima, o item não for encontrado (false)...
        if(existe == false){
            //...o programa insere o ingrediente na receita...
            receita.push(ingrediente);
            //...e o contador é incrementado.
            contador++;
        }
    }
    //Por fim, o programa imprime a lista de receitas na tela.
    document.write(receita);
</script> 
             
            