2
respostas

Lista de ingredientes um item abaixo do outro?

Alguém poderia me ajudar com a função mostra().

Quero que os ingredientes apareçam um abaixo do outro, exemplo:

  • Ovo;
  • Macarrão;
  • Queijo Ralado;
  • Molho de Tomate;

Atualmente aparece assim: Ovo, Macarrão, Queijo Ralado, Molho de Tomate

:/

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>

    function pulaLinha() {

        document.write("<br><br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }


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

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

            if(ingredientes[posicao] == ingrediente) {
                repete = true;
                break;
            }
        }
            if(repete == false) {
                ingredientes.push(ingrediente);
                contador++;
            }
    }

    mostra(ingredientes);    
</script>

2 respostas
<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>

    function pulaLinha() {

        document.write("<br><br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }


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

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

            if(ingredientes[posicao] == ingrediente) {
                repete = true;
                break;
            }
        }
            if(repete == false) {
                ingredientes.push(ingrediente);
                contador++;
                mostra(ingrediente)
            }
    }


</script>

Boa noite, enviei uma solução para o seu problema que resulta em chamar a função mostra() toda vez que um ingrediente é validado e imprimir esse ingrediente, deixando um resultado muito parecido com o desejado.

Olá, Weynne, se incluirmos a tag "li" que corresponde à exibição de itens em forma de lista no "mostra" do código sugerido por Samis, teremos o resultado que você deseja:

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>

    function pulaLinha() {

        document.write("<br><br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }


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

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

            if(ingredientes[posicao] == ingrediente) {
                repete = true;
                break;
            }
        }
            if(repete == false) {
                ingredientes.push(ingrediente);
                contador++;
                mostra("<li>" + ingrediente + "</li>");
            }
    }

</script>

Caso ache que o espaçamento entre as linhas está muito grande, basta ajustar a tag "br" na função pulaLinha(). Bons estudos!