我拥有典型的组织层级结构。例如:
但我希望将其转换为
如何在JavaScript中高效地实现此功能?
。
D,E is reporting to B. B,C is reporting to A.
A是最顶层的节点。但我收到的数据是一个扁平数组,其中包含一个指向父节点的属性。
[{
name: "A",
parent: null
},
{
name: "B",
parent: "A"
},
{
name: "C",
parent: "A"
},
{
name: "D",
parent: "B"
},
{
name: "E",
parent: "B"
}]
但我希望将其转换为
单个嵌套对象
或树形结构
。根节点具有嵌入的子节点属性,每个子节点都有自己的子节点属性,如下所示。 {
name: "A",
children: [{
name: "C"
children: [{
name: "D"
},{
name: "E"
}]
},{
name: "C"
}]
}
如何在JavaScript中高效地实现此功能?
a = obj[name] || { name: name };
的一个小注释,你可以使用 peep 替换新的对象,并将a
替换为obj[name]
,完整的obj[name] = obj[name] || peep;
,在a
使用obj[name]
之后,现在可以删除最后一行obj[name] = obj[name] || a;
。 - Nina Scholz