我有一个对象数组,从CSV文件中提取,如下所示:
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' }
]
我正在创建一些数据的图表和表格,需要创建两个新键“location”和“value”,并为每个对象中的每个位置值创建新对象,如下所示:
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' }
]
之前我在一个类似的项目中也需要这样做,当时时间很紧,最终只能手动编辑原始CSV文件。我不想再那样做了。到目前为止,我已经尝试了各种map/forEach和Object.keys的组合,但都没有成功。
如果您有任何想法,将不胜感激!
o[k]
为真值时避免了从该数组进行查找。当代码布局合理时,这些问题更容易被发现。 - llama