Na descrição da resposta, é dito que saímos do loop por meio do break, mas se eu apago o break, o programa funciona da mesma forma. Como isso é possível? Estaria o existe=true quebrando o loop?
Também é dito que o break "quebra" o for e o while. Está correto? Ele não "quebra" apenas o for?
<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);
var existe = false;
for( var posicao = 0; posicao < ingredientes.length; posicao++) {
if( ingredientes[posicao] == ingrediente) {
existe = true;
break;
}
}
if( existe == false) {
ingredientes.push(ingrediente);
contador++;
}
}
console.log(ingredientes);
</script>