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

176
Views
¿Hay alguna manera de acortar una declaración if en su mayoría repetitiva?

Estoy tratando de hacer una conversión de número a mes. Estoy tratando de hacerlo con una instrucción if, por ejemplo, if(num===0) {month = "January";} else if(num===1) {month = "February";} etc. ¿Existe una forma de acortar esto? Imagino que sería algo así como if(num===[0,1,2,3,4,5]) {month = ["January", "February", "March", "April", "May", "June"}

En otras palabras, ¿hay algún tipo de forma de usar una matriz con una función if, mientras que la función if pasa por cada uno respectivamente? Por cierto, estoy usando la biblioteca p5, si eso hace alguna diferencia.

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

0

Creo que la mejor solución sería usar una serie de meses como esta:

 const month = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; const answer = month[num];
about 4 years ago · Juan Pablo Isaza Report

0

Puede usar una declaración de cambio

 var num = 0; switch (num) { case 0: month = "January"; break; case 1: month = "February"; break; case 2: month = "March"; break; case 3: month = "April"; break; case 4: month = "May"; break; case 5: month = "June"; break; default: day = "Unknown Month"; }

Leer más: https://www.w3schools.com/jsref/jsref_switch.asp https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch

about 4 years ago · Juan Pablo Isaza Report

0

si sus rangos son en su mayoría de naturaleza contigua, una forma es crear previamente una cadena de búsqueda que también sea simultáneamente las claves y los valores, como

1:JAN:2:FEB:3:MAR: etc

con una naturaleza de ancho constante. incluso 1:J:2:F:3:M:4:A….(Quiero decir que es factible escribir todos los nombres allí, pero luego necesitará algo de relleno).

y cuando se llame a la función, use una combinación de funciones de coincidencia o de subcadena para "cortar" las que necesita primero, diga " 4:APR:5:MAY:6:JUN:7:JUL " (tendrá que sea creativo con sus propias notaciones cuando use letras individuales cada una y cuando 3-5, 4-8 y 1-6-7 se dupliquen... o simplemente use base-12)

si un prefijo de 3 letras ya satisface sus necesidades, entonces haga un gsub de alta velocidad para deshacerse de todos los números y delimitadores, y cámbielos a una coma o algo así.

y si opta por los meses completos, no sé cuánto ayudará en absoluto, pero tal vez pueda regex sub-en los sufijos comunes de 9-10-11-12 principalmente en una sola toma, y también 1-2. 5 ya es su nombre completo.

otro enfoque es que si sus rangos generalmente abarcan más de la mitad del año, incluso un enfoque de "resta" podría ser preferible a uno de "suma": siempre comience con la cadena completa con todos los meses deletreados. luego, para los meses que faltan en su entrada, bórrelos y devuelva lo que sobra.

y diga si sus rangos tienden a agruparse dentro de la misma mitad del año en lugar de a horcajadas, entonces incluso puede dividir esa clave de índice en 2 para hacerlo más rápido (aunque los ahorros son pequeños)

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!