我有一个包含这种类型对象的数组。 -->
并希望在带有父子逻辑的 html 树中显示
{
children: [
{
children: [ { label : "sonali"} ],
label: "anil",
}
],
label: "santanu"
}
或者这里有一张图片供参考 -->
我还提供了一个 json 字符串数据(只是粘贴链接),我有数据供参考,请解析 json 以将其放入 js 数组中。
谢谢
答案 0 :(得分:1)
使用 Map 来存储对象引用的位置。
let data = [{ Member_ID: 1, Member_Name: "santanu", Intro_Member_ID: 0, Intro_Member_Name: "" }, { Member_ID: 2, Member_Name: "anil", Intro_Member_ID: 1, Intro_Member_Name: "santanu" }, { Member_ID: 3, Member_Name: "antu", Intro_Member_ID: 1, Intro_Member_Name: "santanu" }, { Member_ID: 4, Member_Name: "sonali", Intro_Member_ID: 2, Intro_Member_Name: "anil" }, { Member_ID: 5, Member_Name: "debabrata", Intro_Member_ID: 3, Intro_Member_Name: "antu" }, { Member_ID: 6, Member_Name: "sankha", Intro_Member_ID: 0, Intro_Member_Name: "" }, { Member_ID: 7, Member_Name: "shraboni", Intro_Member_ID: 6, Intro_Member_Name: "sankha" }];
let map = new Map, result = [];
for (const item of data) {
let label = item.Member_Name, node = { label },
parentNode = map.get(item.Intro_Member_Name);
if (parentNode) {
parentNode.children ??= [];
parentNode.children.push(node)
}
else result.push(node);
map.set(label, node)
}
console.log(result)