Trabalhei bastante, mas ainda me faltam conhecimentos para evitar que o sistema bugue se entrar vazio ( apertar enter somente quando solicitado o ingrediente) e evitar que dê loop infinito quando se pressiona ESC.
Caso tenham alguma recomendação, eu ficaria muito agradecido. Percebo claramente, de longe, que o código não é o melhor para essa função.
Mas segue:
<meta charset="UTF-8">
<h1>Receitas do Yan</h1>
<script>
function escreve(n) { document.write(n+"<br>");}
var ingredientes = [];
var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
//caso seja menor que um item, nega a inserção
if(quantidade <= 1 ){
alert("Você precisa adicionar pelo menos um ingrediente!!! Reinicie o programa!");
}else{
var contador = 1;
while( contador <= quantidade) {
repetido=false;
//caso seja o primeiro item do array, não compara items anteriores
if(contador == 1){
var ingrediente = prompt("Informe o ingrediente " + contador);
ingredientes.push(ingrediente);
contador++;
escreve(ingrediente);
}else{
//não é o primeiro item e parte para comparação das posições
var ingrediente = prompt("Informe o ingrediente " + contador);
for(var posicao = 0; posicao < quantidade; posicao++ ){
if(ingrediente == ingredientes[posicao]){
console.log(ingredientes[posicao]);
alert("não se pode utilizar ingredientes repetidos!");
repetido=true;
}
}
//caso não ache items repetidos na lista, incrementa o item digitado
if(repetido == false ){
ingredientes.push(ingrediente);
contador++;
escreve(ingrediente);
}
}
}
}
console.log(ingredientes);
</script>
Realmente agradeço todos os feedbacks, mesmo que negativos.
Inté +