Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

128
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!