对象数据:
let dataA = {
a: '张三',
b: {
c: '李四'
},
d: {
e: '王五',
h: {
i: '孙七',
w: {
j: '周八'
}
}
},
f: {
g: '赵六',
h: {
i: '孙七',
w: {
j: '周八'
}
}
}
}
使用递归循环转换成树形结构的数据
function objToTree(obj) {
let arr = [];
for (let key in obj) {
//判断每个值是不是一个对象
if (typeof obj[key] === 'object') {
arr.push({
label: key,
children: objToTree(obj[key])
})
} else {
arr.push({
label: key + ':' + obj[key]
})
}
}
return arr;
}
console.log(objToTree(dataA)); //返回数组对象
效果图: