Não entendi essa parte do código:
for (var posicao = 0; posicao < ingredientes.length; posicao++) {
Especificamente ingredientes.length; aqui ele compara zero da variável posição com o que? Visto que até aqui a variável array ingredientes no primeiro laço do while não tem nada ?