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

Como tiro essas virgulas? (codigo + duvida)

Encontrei essa possível solução, não sei se é a ideal, mas essa que consegui sozinho. Porém no resultado ficam aparecendo as virgulas, que acredito serem da separação de elementos da array e não consigo remove-las. Alguem sabe como resolver?

O código esta assim:

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>
    function pulaLinha (){
        document.write("<br>");
    }

    function mostra(frase){
        document.write (frase);
    }

    function checagem(){
        for (var lista = 0; lista <= quantidade; lista++){
            if(ingredientes[lista] == ingrediente) {
                alert("Esse ingrediente já foi adicionado. Informe um novo.");
                contador = contador - 1;
                ingrediente = ingredientes; 
                break;
            }
        }

    }

    var ingredientes = [];

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));

    var contador = 1;

        while( contador <= quantidade) {

        var ingrediente = prompt("Informe o ingrediente " + contador);

        checagem();

        if(checagem == true) {
            checagem();

        } else {

        ingredientes.push(ingrediente);
        ingredientes.push("<br>");

        contador++;
        }
    }

    mostra(ingredientes);
</script>
2 respostas
solução!

Faaaaaaala, João, beleza?

Eu dei uma olhada rápida no código e também não entendi o porquê das vírgulas, porém, eu reparei que o seu array ficava mais ou menos assim: [elemento1, "<br>", elemento2, "<br>"] e o "<br>" não é muito necessário aqui pois você já possui uma função de pular linha. Eu fiz 2 pequenos ajustes no seu código e acredito que assim chega no resultado esperado por você:

    var contador = 1;

        while( contador <= quantidade) {

        var ingrediente = prompt("Informe o ingrediente " + contador);

        checagem();

        if(checagem == true) {
            checagem();

        } else {

        ingredientes.push(ingrediente);
        // ingredientes.push("<br>"); //Comentei esta linha porque estava adicionando elementos desnecessários no seu array

        contador++;
        }
    }
        // O mais comum para imprimir arrays é montar uma estrutura repetitiva que percorra os elementos
        for(var i = 0; i<ingredientes.length;i++){
            mostra(ingredientes[i]);
            pulaLinha();
        }
    // mostra(ingredientes); // Comentei aqui porque alterei a maneira como o array vai ser impresso na página

Brabo Filipe! Essa visão para imprimir uma array eu não tinha entendido, agora já clareou bastante minha cabeça!

O unico problema agora é quando adiciono ingredientes repetidos. Eles aparecem no resultado final, e a cada item repetido, ele repete todos. Tipo assim: Resultado do código de receitas do YanMas pode deixar que vou tentar descobrir como resolver isso agora! Já ajudou demais, muito obrigado!