I have an array of objects, pulled from a CSV file, like so:
const data = [
{ name: 'p1', 'date started': 'April 2007', Houston: '375', Dallas: '508', Austin: '', 'El Paso': '1232' },
{ name: 'p2', 'date started': 'April 2017', Houston: '', Dallas: '', Austin: '', 'El Paso': '43' },
{ name: 'p3', 'date started': 'June 2012', Houston: '18789', Dallas: '', Austin: '8977', 'El Paso': '6754656' },
{ name: 'p4', 'date started': 'December 2015', Houston: '878', Dallas: '4556', Austin: '987', 'El Paso': '1456232' }
]
I am creating some charts and tables of the data, and need to create two new keys, 'location' and 'value', and create new objects for each location value in each object, like this:
const newData = [
{ location: 'Houston', value: '375', name: 'p1', 'date started': 'April 2007' },
{ location: 'Dallas', value: '508', name: 'p1', 'date started': 'April 2007' },
{ location: 'El Paso', value: '1232', name: 'p1', 'date started': 'April 2007' },
{ location: 'El Paso', value: '43', name: 'p2', 'date started': 'April 2017' },
{ location: 'Houston', value: '18789', name: 'p3', 'date started': 'June 2012' },
{ location: 'Austin', value: '8977', name: 'p3', 'date started': 'June 2012' },
{ location: 'El Paso', value: '6754656', name: 'p3', 'date started': 'June 2012' },
{ location: 'Houston', value: '878', name: 'p4', 'date started': 'December 2015' },
{ location: 'Dallas', value: '4556', name: 'p4', 'date started': 'December 2015' },
{ location: 'Austin', value: '987', name: 'p4', 'date started': 'December 2015' },
{ location: 'El Paso', value: '1456232', name: 'p4', 'date started': 'December 2015' }
]
I had to do this for a similar project before, was short on time, and ended up manually editing the original CSV file. I'd rather not do that again. So far I've tried various combinations of map/forEach and Object.keys, with no luck.
Any ideas would be much appreciated!