Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não consigo que o usuário entre com outro ingrediente em caso do ingrediente já digitado seja repetido.

Eu resolvi o exercício e agora os ingredientes não repetem mais. Então tive a idéia de criar uma um novo pedido informando que o usuário digitou um ingrediente que já existe, mas não consigo fazer com que esse novo valo digitado entre no array.

<script>

    function informeIngrediente(){

        var informarIngrediente = prompt("Informe o ingrediente " + contador);
        return informarIngrediente;
    }

    var ingredientes = [];

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));

    var contador = 1;

    while(contador <= quantidade) {

        var ingrediente = informeIngrediente();

        var achou = false;

        for(var posicao = 0; posicao < ingredientes.length; posicao++) {

            if(ingrediente == ingredientes[posicao]) {
                achou = true;
                ingrediente = prompt("O ingrediente digitado já existe, por gentilza inserir um novo ingrediente:");
                break;
            }
        }
        //agora tenho que resolver o problema de aparecer a um prompt() novamente quando o ingrediente for repetido. Ele está simplesmente sendo ignorado.

        if(achou == false){
            ingredientes.push(ingrediente);
        }

        contador++
    }

    console.log(ingredientes);

</script>
1 resposta
solução!

O teu problema é que o contador ta sempre incrementando mesmo quando tu não adiciona um ingrediente no teu array. Tu só vai add no array e incrementar quando o achou for falso, então tu muda o contador de lugar:

        if(achou == false){
            ingredientes.push(ingrediente);
            contador++
        }

Agora quando tu achar um ingrediente no teu array tu só vai informar que ele já ta no array e deixar o while continuar que ele volta pro mesmo contador.

            if(ingrediente == ingredientes[posicao]) {
                achou = true;
                alert("O ingrediente digitado já existe");
                break;
            }