1
resposta

[Dúvida] Dúvida sobre JavaScript

Olá, eu estava usando o seguinte código no script para executar a função de filter:

$: receitasFiltradas = receitas.filter((receita) => {
    receita.ingredientes.every((ingrediente) =>
      $minhaLista.includes(ingrediente)
    );
  });

Mas não funcionou, então copiei exatamente como estava escrito pelo instrutor, assim:

$: receitasFiltradas = receitas.filter((receita) => (
        receita.ingredientes.every((ingrediente) => (
            $minhaLista.includes(ingrediente)
        ))
    ));

E então funcionou. Gostaria de saber a diferença entre uma e outra, já que a diferença se encontra somente na presença ou ausença da chave na função e queria saber por que as duas geram resultados diferentes.

1 resposta

A diferença foi o uso de '{}' na 1ª

Usa parênteses '()' em vez de chaves '{}'

Se for usar chaves, obrigatoriamente tem que ter o 'return'

$: receitasFiltradas = receitas.filter((receita) => {
    return receita.ingredientes.every((ingrediente) =>
      $minhaLista.includes(ingrediente)
    );
  });

Ou apenas

$: receitasFiltradas = receitas.filter((receita) => 
        receita.ingredientes.every((ingrediente) => 
            $minhaLista.includes(ingrediente)        
    ));