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

131
Visualizações
Transform array javascript

How can I transform this array

dataJson = [
 { name: 'Indicator1', date: '2022-01-31', data: 4.85 },
 { name: 'Indicator2', date: '2022-01-31', data: 6.00 },
 { name: 'Indicator3', date: '2022-01-31', data: 14.85 },
 { name: 'Indicator1', date: '2022-03-31', data: 10.50 },
 { name: 'Indicator2', date: '2022-03-31', data: 21.00 }
]

to this form

seriesData = [
 { name: 'Indicator1', data: [4.85, 10.50]},
 { name: 'Indicator2', data: [6.00, 21.00]},
 { name: 'Indicator3', data: [14.85]}
]

I suspect I can use dataJson.reduce() but I don't know how. Any idea? Thanks

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

0

You can use array#reduce to group based on name in an object accumulator.

const dataJson = [ { name: 'Indicator1', date: '2022-01-31', data: 4.85 }, { name: 'Indicator2', date: '2022-01-31', data: 6.00 }, { name: 'Indicator3', date: '2022-01-31', data: 14.85 }, { name: 'Indicator1', date: '2022-03-31', data: 10.50 }, { name: 'Indicator2', date: '2022-03-31', data: 21.00 } ],
      result = Object.values(dataJson.reduce((r, {name, data}) => {
        r[name] ??= {name, data: []};
        r[name].data.push(data);
        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