const tree = [
{
level: 1,
label: "产品",
value: 1,
children: [
{
level: 2,
label: "外饰",
value: 2,
children: [
{
level: 3,
label: "车窗",
value: 3,
},
{
level: 3,
label: "车漆",
value: 4,
}
]
},
{
level: 2,
label: "内饰",
value: 5,
children: [
{
level: 3,
label: "地毯",
value: 6,
},
{
level: 3,
label: "方向盘",
value: 7,
}
]
},
{
level: 2,
label: "OTA",
value: 8,
},
{
level: 2,
label: "其他",
value: 9,
}
]
},
{
level: 1,
label: "信息",
value: 10,
children: [
{
level: 2,
label: "电话",
value: 11,
children: [
{
level: 3,
label: "手机",
value: 12,
},
{
level: 3,
label: "座机",
value: 13,
}
]
},
{
level: 2,
label: "姓名",
value: 14,
},
]
}
]
const map = {}
const flattenTree = (subTree, prefix = "") => {
subTree.forEach((item) => {
const currentPath = prefix ? `${prefix}/${item.label}` : item.label;
if (item.children) {
flattenTree(item.children, currentPath);
} else {
map[currentPath] = item.value
}
});
};
flattenTree(tree, "")
console.log(map)