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

219
Vistas
¿Cómo combinar una matriz con el mismo keyon reaccionar?

tengo una salida como esta:

 [ { GolonganName: '3B - Niaga Besar', data: [ 172000 ] }, { GolonganName: '3A - Niaga Kecil', data: [ 76700 ] }, { GolonganName: '2B - Rumah Tangga Menengah', data: [ 57000 ] }, { GolonganName: 'IA - Rumah Tangga', data: [ 272000 ] }, { GolonganName: 'R5 - Instansi Pemerintah', data: [ 429300 ] }, { GolonganName: '3B - Niaga Besar', data: [ 0 ] }, { GolonganName: '3A - Niaga Kecil', data: [ 0 ] }, { GolonganName: '2B - Rumah Tangga Menengah', data: [ 50200 ] }, { GolonganName: 'IA - Rumah Tangga', data: [ 0 ] }, { GolonganName: 'R5 - Instansi Pemerintah', data: [ 1467000 ] } ]

pero quiero enviar mis datos con el mismo nombre de Golongan en 1 datos solo así:

 [ { GolonganName: '3B - Niaga Besar', data: [ 172000, 0 ] }, { GolonganName: '3A - Niaga Kecil', data: [ 76700, 0 ] }, { GolonganName: '2B - Rumah Tangga Menengah', data: [ 57000, 50200 ] }, { GolonganName: 'IA - Rumah Tangga', data: [ 272000, 0 ] }, { GolonganName: 'R5 - Instansi Pemerintah', data: [ 429300, 1467000 ] }, ]

He intentado usar array.map pero no funciona correctamente.

 let dataMap: any = seriesGolongan.map((item: any, i: any) => { const length = responseBillingTarget.length; let lenGol = responseGetGolongan.length; for (let index = 0; index < responseGetGolongan.length; index++) { const element = responseGetGolongan[index]; if (element.name == item.GolonganName) { if (length == 2) { resultGol.push({ GolonganName: item.GolonganName, data: [parseInt(item.data)], }); } } } });

¿Cómo resolverlo? ¿Pueden ayudarme por favor?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede utilizar la agrupación por enfoque hash:

 const inputData = [{GolonganName:'3B - Niaga Besar',data:[172000]},{GolonganName:'3A - Niaga Kecil',data:[76700]},{GolonganName:'2B - Rumah Tangga Menengah',data:[57000]},{GolonganName:'IA - Rumah Tangga',data:[272000]},{GolonganName:'R5 - Instansi Pemerintah',data:[429300]},{GolonganName:'3B - Niaga Besar',data:[0]},{GolonganName:'3A - Niaga Kecil',data:[0]},{GolonganName:'2B - Rumah Tangga Menengah',data:[50200]},{GolonganName:'IA - Rumah Tangga',data:[0]},{GolonganName:'R5 - Instansi Pemerintah',data:[1467000]}]; const groups = inputData.reduce((acc, { GolonganName, data }) => { acc[GolonganName] ??= { GolonganName, data: [] }; acc[GolonganName].data.push(...data); return acc; }, {}); const result = Object.values(groups); console.log(result);
 .as-console-wrapper { max-height: 100% !important; top: 0 }

about 4 years ago · Santiago Trujillo 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