Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

304
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!