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

166
Views
Cómo eliminar múltiples declaraciones if en javascripts

Tengo el siguiente fragmento de código.

 a = [] b = [] c = [] useEffect(() => { if(isEmpty(a) && isEmpty(b) && isEmpty(c)) { data.refetch() } if(data.isFetching){ //do something } if(response.isFetching){ //do something } }, [ //Some depedencies ])

Entonces, ¿hay alguna forma de modificar estas declaraciones if? Como probé con las declaraciones de cambio, pero no está ayudando aquí. Entonces, cualquier sugerencia sería genial. Gracias.

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

0

Puede eliminar todos los if del código de la siguiente manera:

 a = []; b = []; c = []; conditions = [ [[a,b,c].every((x) => isEmpty(x)), () => data.refetch()], [data.isFetching, someOtherFunction], [response.isFetching, anotherFunction] ]; conditions.forEach(cond => cond[0] && cond[1]());

No recomendaría esto ya que hace que su código sea menos legible y confuso.

Explicación:

La función cada probará la condición para cada elemento de una matriz y se unirá con un y:

 ... [a,b,c].every((x) => isEmpty(x)) ...

Luego, para probar cada condición, puede agregarlas a una matriz e iterar a través de ellas, con una devolución de llamada para cada una si desea crear:

 conditions = [ [[a,b,c].every((x) => isEmpty(x)), () => data.refetch()], [data.isFetching, someOtherFunction], [response.isFetching, anotherFunction] ] condtions.forEach((cond) => { if(cond[0]) cond[1]() } )

Entonces, como lo sugiere derpirscher , podría eliminar el último si con

 conditions.forEach(cond => cond[0] && cond[1]());

Pero nuevamente, esto hace que su código sea más confuso, sugeriría mantener los ifs para que quede más claro.

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!