Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Duvida sobre exercicio

Boa tarde, o exercício pede para não deixar entrar com ingredientes repetidos no array. Já vi o gabarito mas parece que a lógica está certa.

<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 achou = false;

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

            if (ingrediente == ingredientes[i]) {

                achou == true;
                break;
            }
        }

        if (achou == false) {

            ingredientes.push(ingrediente);
            contador++;
        }else{
            alert("Ingrediente repetido.");
        }
    }

    console.log(ingredientes);
</script>
3 respostas

Boa tarde, mas esse código não esta atendendo essa situação?

Ele está deixando inserir elementos repetidos no array, eu acho que é algum problema com o for mas não. consigo entender qual

solução!

Esse aqui funciona, é só fazer o ajuste no teu!!

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>

    function mostra (lista) {
    document.write(lista);

    }

    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 existe = false;

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

            if( ingredientes[i] == ingrediente) {

                existe = true;
                alert("Ingrediente já existe!");
                break;
            }
        }

        if( existe == false) {

            ingredientes.push(ingrediente);
            contador++;
        }
    }

    mostra(ingredientes)

</script>