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

250
Visualizações
Combine 2 valores duplicados coincidentes y agregue un recuento, dentro de una matriz de objetos

Tengo una solución anterior que combinaba un conteo, basado en un solo valor coincidente dentro de una matriz de objetos:

P.EJ:

 [ { "ui5": "sap.m.Bar", "count": 2 }, { "ui5": "sap.m.Bar", "count": 1 }, { "ui5": "sap.m.Panel", "count": 1 } ]

Se convertirá:

 [ { "ui5": "sap.m.Bar", "count": 3 }, { "ui5": "sap.m.Panel", "count": 1 } ]

Con el código:

 var r = {}; myArray.forEach(function (o) { r[o.ui5] = (r[o.ui5] || 0) + o.count; }) var outputArray = Object.keys(r).map(function (k) { return { ui5: k, count: r[k] } });

Sin embargo, no estoy seguro de cómo comparar un objeto más detallado, ¡basado en dos valores coincidentes!

P.EJ:

 [ { "ui5": "sap.m.Bar", "_sMutator": "setCustomHeader", "count": 2 }, { "ui5": "sap.m.Bar", "_sMutator": "addContent", "count": 1 }, { "ui5": "sap.m.Bar", "_sMutator": "setCustomFooter", "count": 3 }, { "ui5": "sap.m.Bar", "_sMutator": "setCustomFooter", "count": 1 } ]

Se reducirá a la salida esperada:

 [ { "ui5": "sap.m.Bar", "_sMutator": "setCustomHeader", "count": 2 }, { "ui5": "sap.m.Bar", "_sMutator": "addContent", "count": 1 }, { "ui5": "sap.m.Bar", "_sMutator": "setCustomFooter", "count": 4 } ]

¿No creo que pueda expandir mi lógica original para dar cuenta de dos valores coincidentes? ¡Cualquier ayuda será bien recibida!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede tomar una matriz con claves deseadas para agrupar y usar esta matriz para obtener una clave unida para el grupo y para obtener un objeto si no se asigna ningún objeto a la propiedad del grupo.

 const data = [{ ui5: "sap.m.Bar", _sMutator: "setCustomHeader", count: 2 }, { ui5: "sap.m.Bar", _sMutator: "addContent", count: 1 }, { ui5: "sap.m.Bar", _sMutator: "setCustomFooter", count: 3 }, { ui5: "sap.m.Bar", _sMutator: "setCustomFooter", count: 1 }], keys = ['ui5', '_sMutator'], result = Object.values(data .reduce((r, o) => { const key = keys.map(k => o[k]).join('|'); r[key] ??= { ...Object.fromEntries(keys.map(k => [k, o[k]])), count: 0 }; r[key].count += o.count; return r; }, {}) ); console.log(result);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

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