Não entendi pq a variável 'existe' precisa ficar fora do bloco do FOR. Se a variável fica dentro, o programa entra num loop de apenas perguntar o ingrediente 1. Alguém sabe o motivo?
<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);
for(var posicao = 0; posicao < ingredientes.length; posicao++){
~~~~var existe = false;~~~~
if (ingrediente == ingredientes[posicao]){
alert("Esse já foi adicionado.");
existe = true;
break;
}
}
if (existe == false){
ingredientes.push(ingrediente);
contador++;
}
}
console.log(ingredientes);
</script>