1
resposta

Não existe ingrediente repetido aqui, minha solução!

<meta charset="UTF-8" />

<h1>Receitas do Yan</h1>
<div>
  <label></label>
</div>

<script>
  let label = document.querySelector("label");
  adicionaIngredientes = (quantidade) => {
    let ingredientes = [];
    let contador = 1;

    while (contador <= quantidade) {
      let ingrediente = prompt(`Informe o ingrediente ${contador}`)
        .toLowerCase()
        .trim();
      if (!ingredientes.includes(ingrediente)) {
        ingredientes.push(ingrediente);
        contador++;
      }
    }
    contador = 1;
    for (ingrediente in ingredientes) {
      label.innerHTML += `${contador++}° - ${ingredientes[ingrediente]} <br>`;
    }
  };
  let quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));

  adicionaIngredientes(quantidade);
</script>

imagem contendo uma lista de receitas

1 resposta

Segue minha solução:

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <meta charset="UTF-8">
    <title>Não existe ingrediente repetido aqui!</title>
</head>

<body>
    <!-- Yan teve a ideia de criar um programa para criar receitas. Nele, há uma lista no qual o usuário pode adicionar
    ingredientes.
    Ao testar o código, verificamos que ele funciona! O problema é que podemos adicionar na lista de uma receita
    ingredientes repetidos. Altere o código para que os ingredientes repetidos não possam ser adicionados. Você encontra
    o gabarito facilmente, mas tente primeiro resolver o exercício. -->


    <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 achou = false;
            for (var i = 0; i < ingredientes.length; i++) {
                if (ingrediente == ingredientes[i]) {
                    achou = true;
                    alert("Igrediente repetido!");
                }
            }
            if (achou == false) {
                ingredientes.push(ingrediente);
                contador++;
            }

        }

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

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

        for (var i = 0; i < ingredientes.length; i++) {
            mostra(ingredientes[i]);
        }

    </script>

</body>

</html>