1
resposta

repito o ingrediente mas o programa nao para

eu repito o ingrediente varias vezes, mas o código não para, help me please!

<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    numero=false;
        ingredientes.push(ingrediente);

        for(var    posicao=0;posicao.length;posicao++){

             if([ingredientes[posicao] == ingrediente) {

            numero= true;
            break;

            }        

        }
        if (numero == false){

            ingredientes.push(ingrediente);

            contador++;


        }

    }

    console.log(ingredientes);
</script>
1 resposta

Olá Rogers. Eu notei os seguintes erros no seu código: 1 - Tem um "ingredientes.push(ingrediente); " antes da hora. Logo em baixo da variável "numero". Você está inserindo um novo ingrediente ao array sem antes verificar se ele já existe ou não. O segundo "ingredientes.push(ingrediente); " esta no local certo. 2 - O segundo erro está no loop for . No primeiro espaço você tudo certinho, declarou e inicializou a variável "posicao" , mas no segundo espaço esta faltando um elemento. A condição do for deve ser: posicao > ingredientes.length. 3 - No primeiro if você colocou uma uma chave a mais antes de ingredientes[posicao]

Acho que foi só isso mesmo, segue o código testado:

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

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

        if (ingredientes[posicao] == ingrediente) {
            numero = true;
            break;

           } 

    }
        if (numero == false){

            ingredientes.push(ingrediente);

            contador++;
        }
    }

console.log (ingredientes);