Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

301
Visualizações
Issue with using .filter(), confused with the AND/OR (&&/||), could someone help me out?

I am having an issue here with getting my data. So I want to filter out any that has an invoice_status of "Draft" or "Ready to Bill", or "Cancelled" or if it's invoice_status is null AND status is null

Everything is being filtered out correctly except any data that has both invoice_status is null AND status is null is not being filtered out. What is the issue with my code below?

console.log(
  "data...",
  this.props.partnerOrders.filter(
    r =>
      (r.invoice_status !== "Draft" &&
      r.invoice_status !== "Ready to Bill" &&
      r.invoice_status !== "Cancelled") || 
      (r.invoice_status !== null && r.status !== null)
  )
);
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Your filter condition in the code is written as the negation (opposite) of your condition-as-words, so as to be true when the element should be kept. Your statement is correctly negated except: !invoice_status is null AND status is null is not (r.invoice_status !== null && r.status !== null), it is (r.invoice_status !== null || r.status !== null).

This is a general rule: !(A && B) == (!A || !B), see rules of negation.

about 4 years ago · Juan Pablo Isaza Relatório

0

Since you want to filter out invoice_status is null AND status is null, when you invert the logic, by deMorgan's theorem, you get invoice_status is not null OR status is not null. Changing your final && to an || should do the trick

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda