<meta charset="utf-8">
<h1>Receitas do Yan</h1>
<script>
var ingredientes = [];
var quantidade = parseInt(prompt("Quantos ingredientes você vai usar?"));
var contador = 1;
var achou = false;
while(contador <= quantidade) {
var ingrediente = prompt("Informe o ingrediente " + contador);
for(var posicao = 0; posicao < ingredientes.length; posicao++) {
if(ingredientes[posicao] == ingrediente) {
achou = true;
break;
}
}
if(achou == false) {
ingredientes.push(ingrediente);
}
contador++;
}
console.log(ingredientes);
</script>
Ao colocar o incremento do contador dentro do if(achou == false) e repetir um ingrediente ele retorna a mensagem mas quando ponho um ingrediente válido ele ignora e repete a pergunta infinitamente, porém quando ponho o mesmo incremento do outro if ele repete a pergunta quantas vezes pedidas porém caso haja um ingrediente repetido ele simplesmente ignora e só põe no array esse ingrediente uma vez. Dessa forma que fiz está correto ou é preciso que esse incremento fique dentro do "if false"?