Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

273
Vistas
Cómo unir cadenas condicionalmente sin usar let in javascript

Tengo una situación en la que intento unirme a la matriz de cadenas solo si tiene un valor. Lo hice usando la variable let, pero me pregunto si puedo hacer esto usando el mapa. Soy muy consciente de la posición, así que lo usé de esta manera.

 const [hours, minutes, seconds] =["", "10", ""] let time = ""; if (hours) { time += `${hours}h `; } if (minutes) { time += `${minutes}m `; } if (seconds) { time += `${seconds}s`; } console.log(time)

¿Podré hacer esto usando el mapa, filtrar y unirme?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Si vuelve a colocar las horas, los minutos y los segundos en una matriz, puede crear otra matriz para los sufijos, agregar los sufijos asignando los valores y luego filtrar las subcadenas resultantes que tienen 1 carácter o menos (lo que indicaría que hay no era un valor correspondiente).

 const suffixes = ['h', 'm', 's']; const [hours, minutes, seconds] = ["", "10", ""]; // combine this with the next line if you can const hms = [hours, minutes, seconds]; const time = hms .map((value, i) => value + suffixes[i]) .filter(substr => substr.length > 1) .join(' '); console.log(time)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí hay un pequeño fragmento agradable

 const suffixs = "hms"; // String arrays of single characters can be shortened to this! const values = ["","10",""]; var string = values .map((x,i) => x ? x + suffixs[i] : x) .filter(x => x) .join(" "); console.log(string); // Or if you want to have 0 in place of empty values var string2 = values .map((x,i) => (x || "0") + suffixs[i]) .join(" "); console.log(string2);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Personalmente, crearía una lista de objetos que representen el tiempo.

Prefiero esto a usar dos matrices, ya que puede salvar algunos errores (como cambiar el orden de los datos en una lista pero no en la otra):

 const [hours, minutes, seconds] = ["20", "10", ""]; const time = [ { amount: hours, sign: "h" }, { amount: minutes, sign: "m" }, { amount: seconds, sign: "s" }, ]; const str = time .filter((val) => val.amount) .map((val) => val.amount + val.sign) .join(" "); console.log(str);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda