Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

134
Visualizações
Agrupar claves de un objeto en matriz

tengo una matriz:

 let x = [{name: 'x1', value: 2}, {name: 'x2', value: 3}, {name: 'y1', value: 4}, {name: 'z1', value: 1}];

Necesito agrupar algunas claves en función de alguna condición y obtener su suma

 res = [{ name: ['x1, y1'], value: 6 }, { name: [x2], value: 3 }, { name: [z1], value: 1 }]
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede tomar varios elementos agrupados y considerarlos como grupos separados.

 const groups = [['x1', 'y1']], data = [{ name: 'x1', value: 2 }, { name: 'x2', value: 3 }, { name: 'y1', value: 4 }, { name: 'z1', value: 1 }], result = Object.values(data.reduce((r, { name, value }) => { const key = groups.find(a => a.includes(name))?.join('|') || name; r[key] ??= { name: [], value: 0 }; r[key].name.push(name); r[key].value += value; return r; }, {})); console.log(result);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes hacerlo de esta manera:

 let res = [ { name: ["x1", "y1"], value: 0 }, [...] ] res.forEach(group => { x.forEach(row => { if (group.name.indexOf(row.name) !== -1) { group.value += row.value; } }); })
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda