-1
OrgID、Name、Valueで一意のOrgIDを持つ新しいオブジェクトを作成したいとします。ネストされたjson配列のオブジェクトと合計値をループするjavascript
データ:例えば以下について
{
"id":0,
"Value": "12345"
"Organisations"
{
"OrgID": "1",
"Name": "A"
}
},
{
"id":1,
"Value": "74790"
"Organisations"
{
"OrgID": "1",
"Name": "A"
}
}, {
"id":2,
"Value": "89668"
"Organisations"
{
"OrgID": "2",
"Name": "C"
}
},
{
"id":3,
"Value": "23559"
"Organisations"
{
"OrgID": "3",
"Name": "D"
}
}
:ID 0と1との和が発生し、そして3番目と4番目のIDをそのまま。
Final Object = [
{1, A, 94521},
{2, C, 75463},
{3, D, 56743}
];
ネストされたforループを使用して減らしました。しかし、私は必要な結果を得ることができません。
var result = Array.from(
data.reduce((organisations, obj) =>
organisations.set(obj.organisations.Name,
(organisations.get(obj.organisations.Name) || 0) + +obj.Value),
new Map()),
([organ, sum]) => ({organ,sum})
);
あなた '最終Object'配列は、適切なJSのオブジェクトが含まれていません。 – Redu
これは単なる例です。しかし、私は3つの要素を持つオブジェクトの配列を持っています –
私はちょうどIDを確認し、それに応じて値を合計する1つのレベルに行く方法が欲しい。 –