我有一个格式如下的 JSON 对象:
balance = [{category:"clothing", amount:"120.50"}, {category:"groceries", amount:"145.23"}, {category:"clothing", amount:"97.34"}];
Run Code Online (Sandbox Code Playgroud)
我想把它简化成这样:
merged_totals = [{category:"clothing", amount:"217.84"}, {category:"groceries", amount:"145.23"}]
Run Code Online (Sandbox Code Playgroud)
这是我目前正在使用的代码,它非常简单,但没有根据需要格式化对象并如上所示:
combineCategories = function (data) {
var newData = [];
for (var prop in data) {
newData[ data[prop].category ] = 0; // set initial value otherwise it will be undefined
}
for (var prop in data) {
newData[ data[prop].category ] += +data[prop].amount;
}
console.log(newData);
}
Run Code Online (Sandbox Code Playgroud)
这将返回:
// [Clothing: 195, Groceries: 140, Deposit: 995.6]
Run Code Online (Sandbox Code Playgroud)