const list = [
{ value: '吴中区', parent: '1.1', id: '1.1.1' },
{ value: '江苏', parent: null, id: '1' },
{ value: '苏州', parent: '1', id: '1.1' },
{ value: '杭州', parent: '2', id: '2.1' },
{ value: '浙江', parent: null, id: '2' },
{ value: '余杭区', parent: '2.1', id: '2.1.1' }
]
const treeToList = (list)=>{
const newArr = []
const obj = {}
list.forEach(item=>{
obj[item.id] = {...item,children:[]}
})
list.forEach(item=>{
if(item.parent && obj[item.parent]){
obj[item.parent].children.push(obj[item.id])
}else{
newArr.push(obj[item.id])
}
})
return newArr
}
let result = treeToList(list)
console.log(result)
js数组到树
最新推荐文章于 2024-08-04 16:33:59 发布
文章描述了一个JavaScript函数`treeToList`,它接收一个表示地区层级关系的树形数据列表,然后将其转换为扁平化的数组,便于处理和展示。
摘要由CSDN通过智能技术生成