【发布时间】:2019-12-01 09:50:57
【问题描述】:
如何以数组格式创建嵌套子级的父级?子级将依赖于父级 ID,它们将作为“squads”键下的数组分组?
示例输入:
let sample = [
{ tribe_id: 1, tribe_name: "Tribe A", squad_id: 1, squad_name: "Squad A" },
{ tribe_id: 1, tribe_name: "Tribe A", squad_id: 2, squad_name: "Squad B" },
{ tribe_id: 2, tribe_name: "Tribe B", squad_id: 3, squad_name: "Squad C" }
];
console.log(sample);
期望的输出:
let desiredFormat = [
{
tribe_id: 1, tribe_name: "Tribe A", squads: [
{squad_id: 1, squad_name: "Squad A"},
{squad_id: 2, squad_name: "Squad B"}
]
},
{
tribe_id: 2, tribe_name: "Tribe B", squads: [
{squad_id: 3, squad_name: "Squad C"}
]
}
];
console.log(desiredFormat);
到目前为止我尝试了什么:
let origArray = sample;
let tempArray = [];
let finalArr = [];
for (let i = 0; i < origArray.length; i++) {
tempArray.push({ tribe_id: origArray[i].tribe_id, tribe_name: origArray[i].tribe_name, squads: [ origArray[i].squad_id] });
}
for (let i = 0; i < tempArray.length; i++) {
let uniqueTribeId = tempArray[i].tribe_id;
for (let z = 0; z < origArray.length; z++) {
if (uniqueTribeId == origArray[z].tribe_id) {
finalArr.push( { tribe_id: uniqueTribeId, squads: [] });
}
}
}
【问题讨论】:
-
输出与输入的关系对我来说并不完全清楚。
-
我不会投反对票,但正如@Liam 所提到的,这看起来非常像一些分配的家庭作业,而且您似乎并没有真正尝试过这样做。到目前为止,您尝试过什么?
-
抱歉,我的最后期限很紧,睡眠不足,没有正确构建问题。现在编辑它。
-
@marknt15 请编辑问题,不要在 cmets 中添加详细信息
标签: javascript