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

171
Vistas
¿Cómo puedo encontrar objetos con los mismos valores de clave en una matriz?

Tengo una matriz de objetos que se ve así:

 const arr = [ { type: 'type', fields: ['field1'] }, { type: 'type2' }, { type: 'type', fields: ['field2'] }, ]

Y necesito encontrar objetos con el mismo tipo para fusionar la clave de campos en ellos, así:

 const arr = [ { type: 'type', fields: ['field1', 'field2'] }, { type: 'type2' }, { type: 'type', fields: ['field1', 'field2'] }, ]

Mi plan era filtrar a través de la matriz, pero mi problema es que no sé qué tipo me enviará la API, por lo que filtrar por item.type no me funcionaría.

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

0

Si esa es la solución exacta que desea. El siguiente fragmento de código puede ayudarlo.

 const arr = [ { type: 'type', fields: ['field1']}, { type: 'type2'}, { type: 'type', fields: ['field2']} ] const modifyArr = (data) => { let res = []; arr.map((item) => { if(item.type == data.type){ if(Object.keys(item).includes('fields')){ res = res.concat(item.fields); } } }); return Object.keys(data).includes('fields') ? { type: data.type, fields: res } : { type: data.type }; } let newArr = arr.map(item => modifyArr(item)); console.log(newArr);

Esto se imprimirá

 [ { type: 'type', fields: ['field1', 'field2'] }, { type: 'type2' }, { type: 'type', fields: ['field1', 'field2'] }, ]
about 4 years ago · Juan Pablo Isaza Denunciar

0

 const arr = [{ type: 'type', fields: ['field1']}, { type: 'type2'}, { type: 'type', fields: ['field2']}]; result = arr.map(({ type }) => { const fields = arr.filter((o) => o.type === type).flatMap((e) => e.fields); return { type, ...fields[0] ? { fields } : {} }; }); console.log(result); //[ // {"type": "type", "fields": ["field1", "field2"]}, // {"type": "type2"}, // {"type": "type", "fields": ["field1", "field2"]} //]

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