循环遍历嵌套的json数组对象和和值javascript

循环遍历嵌套的json数组对象和和值javascript,javascript,arrays,json,d3.js,Javascript,Arrays,Json,D3.js,我想创建一个OrgID为、名称和值为唯一OrgID的新对象 数据: 例如,下面的示例:应出现id 0和1之和,以及第三个id和第四个id Final Object = [ {1, A, 94521}, {2, C, 75463}, {3, D, 56743} ]; 我尝试使用嵌套for循环和reduce。但我无法得到我需要的结果 var result = Array.from( data.reduce((organisations, obj) => organis

我想创建一个OrgID为、名称和值为唯一OrgID的新对象

数据:

例如,下面的示例:应出现id 0和1之和,以及第三个id和第四个id

Final Object = [
{1, A, 94521},
{2, C, 75463},
{3, D, 56743}
];
我尝试使用嵌套for循环和reduce。但我无法得到我需要的结果

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})
);

试试这个,这是想要的结果吗

var数据=[
{
“id”:0,
“值”:“12345”,
“组织”:
{
“OrgID”:“1”,
“名称”:“A”
}
},
{
“id”:1,
“值”:“74790”,
“组织”:
{
“OrgID”:“1”,
“名称”:“A”
}
},  {
“id”:2,
“值”:“89668”,
“组织”:
{
“OrgID”:“2”,
“名称”:“C”
}
},
{
“id”:3,
“值”:“23559”,
“组织”:
{
“OrgID”:“3”,
“名称”:“D”
}
}
];
var res={};
res=Object.keys(data.reduce)(res,curr)=>{
res[curr.organizations.OrgID]=res[curr.organizations.OrgID]|{
OrgID:curr.organizations.OrgID,
名称:curr.organizations.Name,
数值:0
};
res[curr.organizations.OrgID].Value+=parseInt(curr.Value);
返回res;
}.map(key=>res[key]);

控制台日志(res)
您的
最终对象
数组不包含正确的JS对象。这只是一个示例。但是我将拥有一个包含3个元素的对象数组。我只想找到一种方法,向下一级检查id,然后对值进行相应的求和。我认为缺少答案是因为输入数据和预期输出在任何语言中都是完全无效的?无论如何->关键是
OrgID
,我制作了一个对象,因为你发布的作为应该返回内容示例的内容完全是废话。
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})
);