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

121
Vistas
Cómo agregar clave y valores a un objeto dividiendo una cadena dentro del objeto

Tengo la siguiente matriz:

 [ { “Key”: “CUST”, “Segment”: “A;B;C;D;E” } ]

Quiero transformarlo en:

 [ { “Key”: “CUST”, “Segment 1”: “A”, “Segment 2”: “B”, “Segment 3”: “C”, “Segment 4”: “D”, “Segment 5”: “E” } ]

Necesito crear dinámicamente los nombres clave en función de cuántos ";" valores separados que tengo en la cadena "Segmento", ya que ese número puede cambiar. Sé que probablemente necesitaré usar Dividir y tal vez Reducir, Asignar y Extender, pero estoy teniendo dificultades para resolverlo. ¿Puede alguien ayudarme con esto? ¡Gracias!

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

0

Gracias a todos por sus posibles soluciones! De hecho, pude lograr lo que estaba buscando hacer usando el siguiente código:

 $.extend($['Customer Security Segment'].split(";").reduce((accum, curVal, index) => accum.extend({["Customer Security Segment " + (index + 1)]: curVal }), {}))

Esto me daría las nuevas columnas que estaba buscando. Después de eso, simplemente podría eliminar la columna original de "Segmento de seguridad del cliente".

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes lograr esto usando Array.map() :

 // Input array const arr = [ { Key: "CUST", Segment: "A;B;C;D;E" } ]; const res = arr.map((obj) => { const resObj = { Key: obj.Key }; obj.Segment.split(';').forEach((item, index) => { resObj['Segment ' + (index + 1)] = item }); return resObj; }); console.log(res);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes usar split como pensaste con forEach

 object.forEach(item => { item["Customer Security Segment"].split(";").forEach((segment, idx) => { item[`Customer Security Segment ${idx + 1}`] = segment; }); delete item["Customer Security Segment"] });
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