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>