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

91
Views
Recodificar sin usar condicional

La siguiente función funciona bien con declaraciones if, quiero la misma funcionalidad usando declaraciones sin condición.

 Hello(x){ If(x<0){ Console.log("greater"); }Else{ Console.log("smaller"); } }; Hello(1); Hello(-1);
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Podrías usar un Objeto pero es extraño. Una declaración if...else o su forma ternaria más corta transmite más claramente la lógica en juego que siempre es preferible.

 function Hello(x) { const lt = { true: "smaller", false: "greater" }; console.log(lt[x < 0]); }; Hello(1); Hello(-1);

about 4 years ago · Juan Pablo Isaza Report

0

Esto es probablemente una estupidez y podría ser demasiado específico para su ejemplo, pero...:

 const hello = (x) => { const lt = x < 0; console.log("greater".repeat(lt) + "smaller".repeat(1 - lt)); }; hello(-1); hello(1);

Tomando prestado del comentario de @Teemu, algo un poco más flexible podría ser:

 const if_else = (cond_fn, if_fn, else_fn = (x) => x) => [else_fn, if_fn][+cond_fn()](); const hello = (x) => if_else( () => x < 0, () => console.log('greater'), () => console.log('smaller') ); hello(-1); hello(1);

about 4 years ago · Juan Pablo Isaza Report

0

@Teemu explicó cómo hacerlo sin bifurcar , y hay momentos en los que eso puede ser beneficioso (ejemplo: ¿Por qué es más rápido procesar una matriz ordenada que procesar una matriz no ordenada? ).

 function hello(x) { console.log(['greater', 'smaller'][+(x < 0)]); } hello(1); hello(-1);

pero, por definición, no puede lograr un comportamiento basado en una condición sin un condicional .

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!