【发布时间】:2022-01-15 15:52:39
【问题描述】:
我想改进我的代码。这是简单的 javascript 代码,我从 gitlab API 获取一些数据,我想获取 gitlab 组及其成员,然后我想为每个成员显示他的组。
let accounts = []
let subGroups = await api.getSubgroups();
subGroups = subGroups.map((group) => {
const { id, name, full_path } = group;
return {
id,
name,
full_path
}
})
subGroups = subGroups.map(async (group) => {
const { id } = group;
const groupMembers = await api.getGroupMembers(id);
return { group_id: id, groupMembers };
});
subGroups = await Promise.all(subGroups);
const map = subGroups.forEach((group) => {
group.groupMembers.forEach((member) => {
accounts.push(member)
})
})
我想首先获取组列表和组成员。然后制作一系列不同的人,然后给他们他们的小组。 请问如何删除嵌套的foreach,甚至可能吗?而且我还想问一下如何只将成员的必要属性(如仅名称和 ID)获取到帐户数组
【问题讨论】:
-
您可以改进变量名称并防止重新分配相同的变量(子组)以提高可读性,但不能降低时间复杂度
-
@RameshReddy 是的,我会重命名,但它仍然是对象仍然是子组,但具有不同的属性
-
嵌套结构需要嵌套循环。对此,您无能为力、不应该或不需要做任何事情。
标签: javascript node.js loops for-loop foreach