Ele criou uma variável booleana para verificar se o ingrediente já foi adicionado, mas para isso também teve que criar laços de repetição para verificar todos os ingredientes adicionados no vetor, lembrando que para adiciona-los a variável booleana tem que ser falsa.
Outro Exemplo:
var nomes = [];
var quantidade = parseInt(prompt("Digite a quantidade de nomes que deseja adicionar: "));
var contador = 0;
while (contador < quantidade) {
var nome = prompt("Digite algum nome: ");
var achou = false; //para verificar se achou o nome
for (var i = 0; i < nomes.length; i++) {
if (nome == nomes[i]) {
alert("Não repita nome!!");
achou = true; //achou o nome igual
}
}
if (achou == false) { //não achou nome igual
nomes.push(nome); //adiciona o nome ao vetor
alert("Nome adicionado com sucesso!");
contador++;
}
}
console.log(nomes);
Espero ter ajudado.