扁平化数据转换成树形数据
formatTree(obj) {
let copyedObj = JSON.parse(JSON.stringify(obj)) // 深拷贝源数据
return copyedObj.filter(parent => {
let findChildren = copyedObj.filter(child => {
return parent.precinctId === child.upPrecinctId
})
findChildren.length > 0
? (parent.children = findChildren)
: (parent.children = [])
return parent.upPrecinctId === '0' // 返回顶层,依据实际情况判断这里的返回值
})
}
树形数据转换成扁平化数据
let newarr = []
function newList(arr) {
arr.forEach(item => {
newarr.push(item)
item.children && item.children.length > 0 ? newList(item.children) : ""
})
return newarr
}
console.log(newList(newArr));