// 源数据
const data = [
{ parent_id : null, id: 'a', value: '1' },
{ parent_id : 'a', id: 'c', value: '2' },
{ parent_id : 'b', id: 'f', value: '3' },
{ parent_id : 'c', id: 'e', value: '4' },
{ parent_id : 'b', id: 'd', value: '5' },
{ parent_id : 'a', id: 'b', value: '6' }
];
//递归获取子元素
function childArr(obj) {
data.forEach(item => {
if (obj.id === item.parent_id) {
if (!obj.children) {
obj.children = [];
}
obj.children.push(childArr(item));
}
})
return obj;
}
// 结果
let res = {};
// 获取顶级元素
data.forEach(item=>{
if (item.parent_id === null) {
res[item.id] = childArr(item);
}
});
console.log(res);
网友评论