我JSON數組如下,組數據的JavaScript
{
"lstMonths": [
"September"
],
"lstBalances": [
{
"AccountName": "john",
"AccountBalanceOnMonth": [
{
"MonthName": "September",
"Amount": "-28.11"
}
]
},
{
"AccountName": "sanga\n",
"AccountBalanceOnMonth": [
{
"MonthName": "September",
"Amount": "100"
}
]
},
{
"AccountName": "mahela",
"AccountBalanceOnMonth": [
{
"MonthName": "September",
"Amount": "400"
}
]
},
{
"AccountName": "sachin",
"AccountBalanceOnMonth": [
{
"MonthName": "September",
"Amount": "600"
}
]
},
{
"AccountName": "dhoni",
"AccountBalanceOnMonth": [
{
"MonthName": "September",
"Amount": "-500"
}
]
}
]
}
我想按帳戶名,形成輸出,
{ data: [28.11], label: 'john' },
{ data: [100], label: 'sanga' },
{ data: [400], label: 'mahela' },
{ data: [400], label: 'sachin' }
{ data: [400], label: 'dhoni' }
如果有兩個月的時間,說十月在上面然後
{ data: [28.11,3], label: 'john' },
{ data: [100,4], label: 'sanga' },
{ data: [400,4], label: 'mahela' },
{ data: [400,4], label: 'sachin' }
{ data: [400,5], label: 'dhoni' }
我試圖像上面那樣分組。任何幫助傢伙?
這裏是我的代碼:
var groupBy = function(xs, key) {
return xs.reduce(function(rv, x) {
(rv[x[key]] = rv[x[key]] || []).push(x);
return rv;
}, {});
};
console.log(groupBy(response.lstMonths, 'length'));
請提供一種方式來找到最佳值。
編輯
JSON更多個月,
{ 「lstMonths」: 「九·一」], 「lstBalances」: { 「帳戶名」:「約翰\ n 」, 「AccountBalanceOnMonth」:[{ 「MONTHNAME」: 「九」, 「金額」: 「-28.11」 },{ 「MONTHNAME」: 「八」, 「金額」: 「-28.11」 } ] },{ 「帳戶名」: 「聯誼\ n」 個, 「AccountBalanceOnMonth」:[{ 「MONTHNAME」 : 「九」, 「金額」: 「100」 }, { 「MONTHNAME」: 「八」, 「金額」: 「233」 } ] }, { 「帳戶名」:「 mahela「, 」AccountBalanceOnMonth「:[ { 「MONTHNAME」: 「九」, 「金額」: 「400」 }, { 「MONTHNAME」: 「八」, 「金額」: 「32」 } ] }]}
更多個月,請提供數據的一個例子。 –
數據屬性如何生成?請解釋並重新檢查這些值。 –
@NinaScholz添加了json –