function flatten (pcsa) {
let res = []
for (let index = 0; index < pcsa.length; index++) {
const item = pcsa[index];
provinceSql.push({
code: item.code,
name: item.name,
parentCode: item.parentCode,
})
if (item.children) {
res = provinceSql.concat(...flatten(item.children))
}
}
return res
}
//然后我们再尝试将数据进行还原
function array2Tree(data, root) {
let res = []
data.forEach((item) => {
if (item.parentCode === root.code) {
let children = array2Tree(data, item)
if (children.length) item.children = children
res.push(item)
}
})
return res
}
// usage
const res = array2Tree(flatProvince, { code: '0' })
这两天在弄数据库,省市县镇的数据联动,拿到的数据是
是这样的一个数据结构当我们需要将这样的数据存到数据库我们就需要将这个数据扁平化,在考虑嵌套层级可能是无限级别的,我们这里就比较适合用递归的方式去实现,扁平化
总得来说还是不是很难,但是花了自己两天时间在上面还是简单的记录下。