Este é o meu código, confesso que tive um pouco de dificuldade sim nele, até porque tentei resolver sozinho, demorei, mas fui tentando até saiu. Mas ainda não me sinto confiante, ou seguro, fiz a parte de comparar se tinha elemento repetidos meio que na intuição e na tentativa e erro. Fui mudando variável de lugar... e ai fui lembrando das aula, pensando, seguindo o fluxo da lógica. ia testando parte por parte, até encaixou tudo e resolveu. Mas não consegui fazer programando direto e ja saindo certo, tive que fazer pedaço por pedaço.
Como melhorar esse pensamento lógico?
Saber os while, if e for é muito fácil, o problema é saber como usar, quando usar, e aonde usar! E ainda teve essa inserção de um booleano, que achei muito genial criar uma variável meio que do nada, para trabalhar com ela e como um botão para afirmar ou não algo.
<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);
repetiu = false;
for (posicao = 0; posicao < ingredientes.length; posicao++) {
if (ingrediente == ingredientes[posicao]) {
alert("Este ingrediente está repetido, insira outro");
repetiu = true;
break;
}
}
if (repetiu == false) {
ingredientes.push(ingrediente);
contador++;
}
}
console.log(ingredientes);
# </script>