[{
"areaId": 1,
"name": "电化厂",
"parentId": 0,
"children": [{
"areaId": 3,
"name": "甲烷",
"parentId": 1,
"children": [{
"areaId": 4,
"name": "甲烷厂",
"parentId": 3,
"dtoId": 4
}, {
"areaId": 17,
"name": "烷卤化物",
"parentId": 3,
"dtoId": 17
}, {
"areaId": 18,
"name": "护物",
"parentId": 3,
"dtoId": 18
}],
"dtoId": 3
}, {
"areaId": 22,
"name": "酸",
"parentId": 1,
"children": [{
"areaId": 23,
"name": "化碳",
"parentId": 22,
"dtoId": 23
}],
"dtoId": 22
}],
"dtoId": 1
}, {
"areaId": 2,
"name": "氟工",
"parentId": 0,
"children": [{
"areaId": 19,
"name": "钠",
"parentId": 2,
"children": [{
"areaId": 20,
"name": "高钾",
"parentId": 19,
"dtoId": 20
}, {
"areaId": 21,
"name": "钠",
"parentId": 19,
"dtoId": 21
}],
"dtoId": 19
}],
"dtoId": 2
}]
拍平数组
function fn(arr) {
let array = [];
arr.forEach((val) => {
if (val.children instanceof Array) {
let temp = {};
temp.areaId = val.areaId;
temp.name = val.name;
temp.parentId = val.parentId;
temp.dtoId = val.dtoId;
array.push(temp);
array = array.concat(this.fn(val.children))
} else {
array.push(val)
}
});
return array
}
递归获取
function getParent(arr,id){
arr.forEach(v => {
if(v.areaId === id){
if(v.parentId !== 0){
this.area.push(v.parentId);
this.getParent(arr,v.parentId);
}
}
});
},