for(var posicao = 0; posicao < quantidade.length; posicao++) {
if(quantidade[posicao] == naoPodeRepitir) {
achou = true;
break;
}
}
repare que nesse laço, sua intenção é verificar se o usuário digitou uma palavra que já existe! Mas, na realidade, seu código está verificando um array que não existe chamado "quantidade"(no caso, é uma variável que você declarou anteriormente apenas para saber quantos ingredientes serão!).
Vamos resolver esse problema: você tem a variavel "ingrediente" que recebe a receita, e também possui o Array "ingredientes" que armazena todos os valores que estão sendo adicionados no "ingrediente", assim, o que você quer comparar é se o "ingrediente" novo já existe no Array "ingredientes". Portanto, seu if deve verificar:
for(var posicao = 0; posicao < ingredientes.length; posicao++) {
if(ingredientes[posicao] == naoPodeRepitir) {
achou = true;
break;
}
}
OBS1: repare que seu ciclo for deve rodar em um numero igual ao tamanho de posições que seu array possui, no caso ingredientes, assim usamos a função ".length" no ciclo for.
OBS2: você não precisa criar uma nova variável chamada "naoPodeRepitir", só colocar "ingrediente" no lugar já é suficiente!