2
respostas

Não consigo entender o motivo do programa não funcionar , os itens são adicionados mesmo repetidos.

<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 posicao = 0; posicao < ingredientes.length; posicao++) {

                    if(ingredientes[posicao] == ingrediente) {

                    achou = true;

                     break;

                     }

                }

        if (achou == false); {

        ingredientes.push(ingrediente);

        contador++;

        }
    }

    console.log(ingredientes);

    alert(ingredientes)
</script>
2 respostas

Todos os itens repetidos são adicionados da mesma forma sem executar o break.

Boa tarde, Lauro! Tudo bem?

Eu também estou aprendendo, assim como você, mas acho que posso te ajudar.

Não vi nada de errado na lógica, mas vi que existe um ";" que não deveria estar ali. É na seguinte linha:

if (achou == false); {

Depois que tirei esse ";" e rodei o código, ele não deixou mais inserir ingredientes repetidos.

Espero ter ajudado :)