3
respostas

Ajuda, por favor! Código não funciona. :'(

<meta charset="UTF-8">

<h1>Receitas Rápidas</h1>

<script>
    var ingredientes = [];
    var quantidade = parseInt(prompt("Quantos ingredientes você utilizará?"));
    var contador = 1;

    while (contador<=quantidade)
    {
        var ingrediente = prompt("Informe o ingrediente Nº " + contador);
        var existe = false;
        for( var posicao = 0; posicao < ingredientes.length; posicao++);{
            if(ingrediente == ingredientes[posicao]){
                existe = true;
                break;

            }
        }

        if( existe == false){

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

    console.log(ingredientes);

</script>        
3 respostas

Oi Karoline, tudo bem?

Creio que você esteja com sensação de que o código não esteja funcionando, pois, não é apresentado os nomes dos ingredientes na tela. Isso se deve ao fato de estarmos utilizando o console.log para fazer a mostragem, então é necessário abrir o inspecionar elemento(F12) na aba console para que vejamos os itens digitados. Aparecerá algo similar a estrutura abaixo:

aparece

Porém, caso queira que os itens apareçam na tela, uma forma simples, seria usar a função document.write:

document.write(ingredientes);

Ficou claro? Qualquer dúvida fique a vontade, estou a disposição.

Espero ter ajudado. Abraços e bons estudos!

Olá, Nádia!

Tudo bem?

Obrigada pela resposta!

Mas na verdade meu problema é quanto a repetição dos ingredientes. Pontuei que não funcionava porque o programa permite a inserção de um mesmo item mais de uma vez.

Poderia me auxiliar com essa questão?

Agradeço desde já! Abraço!

Karoline, é um errinho quase que imperceptível e fique tranquila, pois eles acontecem. Observe esta linha:

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

Note que há um ponto e vírgula no final da instrução acima. Porém, o correto é a abertura de chaves. Por exemplo:

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

            codigo omitido...
 }

E como efeito colateral deste ponto e vírgula, está ocorrendo a permissão da duplicação de ingredientes. Portanto, para corrigir o código, basta retirar este ponto e vírgula.

Acredito que isto resolverá o seu problema.

Qualquer dúvida estou a disposição. Espero ter ajudado. Abraços e bons estudos!