let sourceData = [
{
id: 1,
label: "大唐水电厂",
children: [
{
id: 2,
label: "一组",
children: [
{
id: 9,
label: "阀门",
},
{
id: 10,
label: "开关",
},
{
id: 9,
label: "管道",
},
],
},
{
id: 3,
label: "二组",
children: [
{
id: 11,
label: "阀门",
},
{
id: 12,
label: "开关",
},
],
},
{
id: 4,
label: "三组",
children: [
{
id: 13,
label: "阀门",
},
{
id: 14,
label: "开关",
},
],
},
{
id: 5,
label: "四组",
children: [
{
id: 14,
label: "阀门",
},
],
},
],
},
]
function getIabel(origin) {
let res = [];
const helper = (origin, labelArr) => {
if (!origin) {
res.push({
first: labelArr[0],
second: labelArr[1],
third: labelArr[2]
});
return;
}
for (let i = 0; i < origin.length; i++) {
labelArr.push(origin[i].label);
helper(origin[i].children, labelArr);
labelArr.pop();
}
}
helper(origin, []);
return res;
}
console.log(getIabel(sourceData));



