var nodes=[
{id: 1,label: '1级',parentId:0},
{id: 4,label: '2级',parentId:1},
{id: 9,label: '3级1-1-1',parentId:4},
{id: 10,label: '3级1-1-2',parentId:4}
]
var target = [];
target = dealLevel(1);
console.log(target)
function dealLevel(id) {
let item = {};
nodes.forEach(v => {
if (id === v.id) {
item = v;
} else {
if (v.parentId === id) {
v.label = item.label + ':' + v.label;
item.children ? item.children.push(v): item.children = [v];
dealLevel(v.id);
}
}
})
return item;
}