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

238
Vistas
Cómo agregar un separador de coma después de cada parámetro si el parámetro tiene valores y un punto al final de los parámetros

por ejemplo tenemos 3 params

 function test(a,b,c){ console.log(a + ',' + b + ',' + c +'.') } test('a','b','c')

imprimirá

 > a, b, c.

pero en caso de que b esté vacío, el resultado se verá con dos comas, como

 test('a','','c')

imprimirá

 a,,c.

podemos mejorar como revisar cada var así

 function test(a,b,c){ console.log(a + (a?',':'') + b + (b?',':'') + c +(c?'.':'')) }

y ahora

 test('a','','c')

imprimirá

 a,c.

mira ok, pero cuando solo tenemos b

 test('','b','')

imprimirá

 b,

y ahora debemos verificar que existan los valores a o b y que no haya c para imprimir '.'

y la complejidad aumenta, pero qué pasa si tenemos n vars, alguna idea de cómo resolver más fácilmente

resultado esperado es:

 test('a','b','c') => a, b, c. test('a','b','') => a, b. test('a','','') => a. test('','b','c') => b, c. test('','b','') => b. test('','','') =>
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puedes filtrar y usar el parámetro ...rest

 const isParm = prm => prm !== "" && prm !== undefined && prm !== null; const test = (...theArgs) => { const list = theArgs.filter(parm => isParm(parm)); if (list.length > 0) console.log(`${list.join(",")}.`) } let x; test('a','b','c') test('a',null,'c'); // null is a falsy value test('','','c') test('a') test('','b') test(x); // undefined (falsy) test(0,0,0); // falsy values

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si entiendo tu intención, esto debería hacerlo.

 function test(...args) { const res = args.filter(i => i).join(',') return res + (res && ".") } // Usage console.log(test('a','','c')); // "a,c." console.log(test('a','b','c')); // "a,b,c." console.log(test('','','c')); // "c." console.log(test('a', '', '')) // "a." console.log(test('', '', '')) // ""

about 4 years ago · Juan Pablo Isaza Denunciar

0

Usando un enfoque de combinación de matrices, podemos agregar todas las entradas a una matriz. Luego filtre las entradas vacías y únalas con un separador de coma.

 function test(a,b,c) { var array = [a, b, c]; return array.filter(x => x).join(", ") + "."; } console.log(test('a','','c'));

En realidad, una mejor firma de función para su función aceptaría una matriz, lo que permite la concatenación con el separador de cualquier número de elementos.

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