Para o código abaixo fiquei com duvida em relação ao uso do break. Não sei se entendi corretamente, pois para mim ele pareceu redundante, uma vez que a variável criada já garante que o loop será interrompido, pois quando inserimos um ingrediente que já foi informado, a variável é alterada o que garante que o segundo "if" não sera atendido e o código recomece. Caso o meu raciocínio esteja errado, e alguém puder me explicar, agradeço muito.
<meta charset="UTF-8">
<h1>Receitas do Christian</h1>
<script>
var ingredientes = [];
var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
var contador = 1;
while(contador <= quantidade) {
var ingrediente = prompt("Informe o " + contador + "º ingrediente");
var achou = false;
for(var posicao = 0; posicao < ingredientes.length; posicao++) {
if(ingredientes[posicao] == ingrediente) {
achou = true;
alert("Ingrediente já informado, por favor insira um diferente!");
//testei sem o break e funciona normalmente
break;
}
}
if(achou == false) {
ingredientes.push(ingrediente);
contador++;
}
}
console.log(ingredientes);
</script>