4
respostas

Por que meu código não funciona?

Boa tarde,

Fiz o código, porém quando eu adiciono um item a lista, meu "contador" não é incrementado. Porém eu coloquei o comando "contador++" caso o item seja adicionado. O que tem de errado ai?

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

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

            if(ingrediente == ingredientes[x]){
                existe = true;
                alert("Este item já existe!")
                break;                
            }
            if (existe == false){
            ingredientes.push(ingrediente);
            contador++;
        }


        }


    }

    console.log(ingredientes);


</script>
4 respostas

Acho que tem que encerrar a rotina do "for" antes do segundo "if".

Verdade! Eu fiz isso e deu certo... Obrigado! Então dentro do FOR tem alguma regra em relação a quantidade de IF's?

Boa noite Allan!

Não possui, você pode criar quantos if´s forem necessários , só que nesse caso se vc não fechar o for no primeiro if vc cria um loop toda vez que da enter na mensagem!

Olá Allan, percebi que você também não declarou o x dentro do for. Precisa ser:

for(var x = 0; x < ingredientes.length; x++) { // seu código }

Uma alternativa ao var, seria também usar o let (let x)