2
respostas

Apresenta lista de ingredientes

Fala, galera! Estou muito feliz em conseguir fazer esse exercício 'mais incrementado', porque já havia aprendido algumas funcionalidades diferentes do JS. Eu não sabia NADA há 3 meses atrás e hoje vejo que conforme vamos evoluindo o código fica mais curto, porque vamos aprendendo novas formas de escrever que facilitam nossa vida.

<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 " + contador + " ingrediente: ")

    if (!(ingredientes.includes(ingrediente))) {
      ingredientes.push(ingrediente)
      contador++
    }
    else alert('Ingrediente incluso')

  }
  document.write('<h2>Ingredientes</h2>')
  for (var itensLista of ingredientes) {
    document.write(itensLista + '<br>')
  }

  console.log(ingredientes)
</script>
2 respostas

Que legal essa solução!

if (!(ingredientes.includes(ingrediente))) 

Não conhecia o includes(). Ele verifica se o item está na lista? Isso facilita muito pois não é necessário o laço for para percorrer os itens da lista.

Exato, Jade. Ele verifica se o elemento está no array e retorna true ou false. Como coloquei o ponto de exclamação antes (!) ele nega a afirmação, ou seja, se retornar false ele me dá true e vice-versa :)