【发布时间】:2018-01-07 12:24:43
【问题描述】:
我正在循环某个对象并根据一些查找更新另一个对象的值,目前我无法在映射中获取正确的值。
let users = [
{
"id": "123",
"email": "john.doe@acme.com",
"name": " John Doe",
"group": "1",
"subgroup": "1"
},
{
"id": "456",
"email": "tom.hans@stk.com",
"name": " Tom hans",
"group": "2",
"subgroup": "1"
}
];
let groupData = [
{
id: "1",
name: "Stars",
subgroup: [
{
id: "1",
pseudo: "big"
},
{
id: "2",
pseudo: "small"
}
]
},
{
id: "2",
name: "Stones",
subgroup: [
{
id: "1",
pseudo: "tiny"
},
{
id: "2",
pseudo: "huge"
}
]
}
];
const allUsers = {};
for (var i = 0; i < users.length; i++) {
let groupID = users[i].group,
subgroupID = users[i].subgroup;
users[i].group = users[i].group ? groupData[groupID][name] : '';
users[i].subgroup = users[i].subgroup ?
groupData[groupID].subgroup[subgroupID][name] : '';
allUsers[users[i].id] = users[i];
}
allUsers 的结果如下所示:
{
123: {
"id": "123",
"email": "john.doe@acme.com",
"name": " John Doe",
"group": "Stars",
"subgroup": "big"
},
456: {
"id": "456",
"email": "tom.hans@stk.com",
"name": " Tom hans",
"group": "Stones",
"subgroup": "tiny"
}
};
目前,我在我的for loop 中查找问题以获取组/子组的名称。
有人可以帮忙解决这个问题吗?最好使用 ecma6。
【问题讨论】:
标签: javascript arrays object for-loop ecmascript-6