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

102
Views
filtro de matriz js basado en dos condiciones booleanas

Tengo dos condiciones booleanas para filtrar una matriz. Una matriz siempre tendrá 3 elementos dentro, y la primera condición siempre elimina el segundo elemento, la segunda condición el tercero. Y lo filtré con éxito usando .filter . Pero parece que mi enfoque es un poco sucio, ¿hay alguna forma mejor y más clara de filtrar?

 const firstCondition = true; const secondCondition = true; const arrayToFilter: Array<string> = ['firstItem', 'secondItem', 'thirdItem'].filter( (item, idx) => firstCondition && secondCondition ? item : !firstCondition && secondCondition ? idx !== 1 : !firstCondition && !secondCondition ? idx === 0 : firstCondition && !secondCondition && idx !== 2 ); console.log(arrayToFilter);

Editar: Aclaración Si las condiciones son falsas, eliminan elementos

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

¿Qué tal esto?

 const arrayToFilter: Array<string> = ['firstItem', 'secondItem', 'thirdItem'].filter( (item, idx) => { if (!firstCondition && idx === 1) return false if (!secondCondition && idx === 2) return false else return true } );
about 4 years ago · Juan Pablo Isaza Report

0

probar,

 .... (item, index) => ( (firstCondition && index !== 1) || (secondCondition && index !== 2) || true // (!firstCondition && !secondCondition) )
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!