gpt4 book ai didi

javascript - 使用 node.js 连接和聚合 json 响应数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:42 24 4
gpt4 key购买 nike

我尝试了不同的方法,谁能解释我错在哪里?

我想根据各自的团队汇总团队成员。我尝试了下面的代码,但是无法获得正确的值。我认为在获取值时变量存在一些问题,但我只是不理解代码。谁能解释一下吗?

下面是我的代码:“data”是查询后返回的对象。

      var groups = []
var Members = []

for (var i = 0; i < data.length; i++) {

var team = data[i].UnitId.BlockName;
var member = { "Name" : data[i].Name, "Mobile" : data[i].Mobile }
Members.push(member);
console.log('Members are: '+JSON.stringify(Members));
//if(data[i].UnitId.BlockName === team){
var new_obj = { "Team" : team, Members};
groups.push(new_obj);
// }
}

console.log('Groups: '+JSON.stringify(groups));
//------------------------------------

let grouped = {};
groups.forEach(({Team, Members}) => {
grouped[Team] = grouped[Team] || {Team, Members: []};
if (grouped[Team].Members.includes(Members.Name,Members.Mobile))
grouped[Team].Members.push(Members.Name,Members.Mobile);
// grouped[id].medal_count = `${(+grouped[id].medal_count)+ (+medal_count)}`;
});
grouped = Object.values(grouped);

console.log(JSON.stringify(grouped));

输出:

{
"grouped": [
{
"Team": "EasilyDone",
"Members": []
},
{
"Team": "BrainItOn",
"Members": []
}
]
}

期望的输出:

{
"grouped": [
{
"Team": "EasilyDone",
"Members":
[
{
"Name" : "Dhairya"
}
]
},
{
"Team": "BrainItOn",
"Members":
[
{
"Name" : "raj"
}
]
}
]
}

DATA LOOKS LIKE THIS

最佳答案

我认为你想做的是:

let grouped = {};

groups.forEach(({Team, Members}) => {
grouped[Team] = { Team, Members };
});

此外,您的代码非常复杂。我建议您学习如何以更简洁的方式编写 Javascript。

关于javascript - 使用 node.js 连接和聚合 json 响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59404340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com