例如我有数据
{
'category': 'winter',
'amount': 10
},
{
'category': 'winter',
'amount': 10
},
{
'category': 'summer',
'amount': 10
},
{
'category': 'spring',
'amount: 10
},
]
工作(不像预期的例子)
https://codepen.io/Ross-Zach/pen/eYXedBr
所以我想要这样的东西
并且在图例中应该只包含:
冬天,夏天,春天
不是:
冬天,冬天,夏天,春天
let data = [
{ 'category': 'winter', 'amount': 10 },
{ 'category': 'winter', 'amount': 10 },
{ 'category': 'summer', 'amount': 10 },
{ 'category': 'spring', 'amount': 10 },
];
let aggregatedData = {};
for (let i = 0; i < data.length; i++) {
let item = data[i];
if (aggregatedData.hasOwnProperty(item. Category))
{
aggregatedData[item.category] += item. Amount;
}
else
{
aggregatedData[item.category] = item. Amount;
}
}
迭代数据数组并创建一个对每个类别的金额求和的对象。
使用该对象的键作为饼图的标签。
使用总金额作为饼图的数据。