// const list = [
// {id: 1, name: 'A', parentId: 0},
// {id: 2, name: 'B', parentId: 0},
// {id: 3, name: 'C', parentId: 1},
// {id: 4, name: 'D', parentId: 1},
// {id: 5, name: 'E', parentId: 2},
// {id: 6, name: 'F', parentId: 3},
// {id: 7, name: 'G', parentId: 2},
// {id: 8, name: 'H', parentId: 4},
// {id: 9, name: 'I', parentId: 5}
// ];
// const getTree = (arr,parentId=0) => {
// let res = []
// arr.map(item => {
// if(item.parentId == parentId) {
// let newNode = {
// id: item.id,
// name: item.name,
// children: getTree(arr,item.id)
// }
// res.push(newNode)
// console.log(res,'res')
// }
// })
// return res
// }
// console.log(getTree(list))
const tree = [
{
id: 1,
name: "四川省",
children: [
{
id: 5,
name: "成都市",
children: [
{
id: 6,
name: "锦江区",
children: [
{ id: 7, name: "九眼桥" },
{ id: 8, name: "兰桂坊" },
],
},
],
},
],
},
{
id: 2,
parent_id: 0,
name: "广东省",
children: [
{
id: 9,
parent_id: 2,
name: "东莞市",
children: [{ id: 10, parent_id: 9, name: "长安镇" }],
},
],
},
{
id: 3,
parent_id: 0,
name: "江西省",
children: [{ id: 11, parent_id: 3, name: "南昌市" }],
},
]
const flat = (arr) => {
let res = []
const render = (arr,parentId=0) => {
arr.map(item=> {
const {id,name} = item
res.push({
id,
name,
parentId
})
if(item.children && item.children.length) {
render(item.children,item.id)
}
})
}
render(arr)
return res
}
console.log(flat(tree))