2
respostas

Minha resolução! Possui alguma outra forma que possui menos código?

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>

    function mostra(frase) {
        document.write(frase);
    }

    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 checar = true;

        for (var posicao = 0; posicao < ingredientes.length; posicao++) {
            if (ingredientes[posicao] == ingrediente) {
                checar = false;
                break;
            }
        }
        if (checar == true) {
            ingredientes.push(ingrediente);
            contador++;
        }
    }
    for (var i = 0; i< ingredientes.length;i++) {
        mostra('<li>' + ingredientes[i] + '</li>');
    }
</script>
2 respostas

Esse tive muita dificuldade, me perdi em um looping no while e não estava conseguindo consertar. Usei o seu como referência. Valeu!

Bom dia, Isac. Eu usei o mesmo código do curso. Acrescentei do var encontrou = false até o break. Roda perfeitamente. Acrescentei um alert pra indicar que o ingrediente já existe na lista e o usuário não ficar perdido ao ver a repetição do número do ingrediente à acrescentar.

<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 encontrou = false 
        for(var posicao = 0; posicao < ingredientes.length; posicao++) {

            if(ingredientes[posicao] == ingrediente) {
                encontrou = true;
                alert("ESTE INGREDIENTE JÁ FOI ADICIONADO À LISTA!!")
                break;
            }

        }

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

    }

    console.log(ingredientes);
</script>