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

Tentei complicar o código para que string vazia não funcione (Não tive sucesso)

O código funciona dentro do que foi estipulado para o exercício, não permitindo que as entradas no prompt se repitam. Tentei colocar uma condição para que a entrada não esteja vazia só que ainda são somadas a lista de itens.

Segue o código:

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>
    var ingredientes = [];

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

    var contador = 1;

    while( contador <= quantidade) {

        var ingrediente = prompt("Informe o ingrediente " + contador);
        var ingredienteRepetido = false;

        if(ingrediente !== "") {

            var ingredienteRepetido = false;

            for(var posicao = 0; posicao < quantidade.lenght; posicao ++) {

                if(ingredientes[posicao] == ingrediente) {

                    ingredienteRepetido = true;
                    break;
                }
            }

        }

        if (ingredienteRepetido == false) {
            ingredientes.push(ingrediente);

            contador++;
        }
    }

    console.log(ingredientes);
    document.write(ingredientes);
</script>
1 resposta
solução!

Daniel, implementei um loop while no if que realiza a verificação, isso faz com que o usuário não consiga prosseguir enquanto não digitar o ingrediente.

Ficou assim, veja se te ajuda:

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>
    var ingredientes = [];
    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
    var contador = 1;

    while( contador <= quantidade) {
        var ingrediente = prompt("Informe o ingrediente " + contador);
        var ingredienteRepetido = false;

        if(ingrediente == "") {
            while (ingrediente == "") {
                var ingrediente = prompt("Informe o ingrediente " + contador);
            }
             var ingredienteRepetido = false;

            for(var posicao = 0; posicao < quantidade.lenght; posicao ++) {
                if(ingredientes[posicao] == ingrediente) {
                    ingredienteRepetido = true
                }
            }

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

    console.log(ingredientes);
    document.write(ingredientes);
</script>