let source = [
{ id: 1, pid: 0, name: 'body' },
{ id: 3, pid: 2, name: 'div' },
{ id: 5, pid: 2, name: 'div666' },
{ id: 4, pid: 0, name: 'div' },
{ id: 2, pid: 1, name: 'title' },
]
function jsonToTree(source) {
if (!Array.isArray(source)) return [];
let result = [];
let map = {}
source.map((item) => {
const { id } = item
map[id] = item
})
source.forEach(item => {
let parent = map[item.pid];
if (parent) {
(parent.children || (parent.children = [])).push(item);
} else {
result.push(item);
}
});
return result
}
jsonToTree(source)
Json转树形结构
最新推荐文章于 2023-09-12 14:38:05 发布