【发布时间】:2020-04-11 17:35:42
【问题描述】:
我尝试了不同的方法,谁能解释我错在哪里?
我想根据各自的团队聚合团队成员。我尝试了下面表示的代码,但无法获得正确的值。 我认为在获取值时变量存在一些问题,但我只是不理解代码。谁能解释一下?
以下是我的代码:“数据”是查询后返回的对象。
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吗?? -
@Subburaj 是的!我已附上链接。
-
粘贴有问题的,也不要给图片链接。如果它粘贴为有问题的文本意味着我们很容易处理它。
标签: javascript node.js concatenation aggregation