function translateArrToTree(data, config) {
const { pId = 'pId', id = 'id', children = 'children' } = config
let parents = data.filter(v => [undefined, null, 'undefined', 0].includes(v[pId]))
let childrens = data.filter(v => ![undefined, null, 'undefined', 0].includes(v[pId]))
const translator = (parents, childrens) => {
parents.forEach(p => {
childrens.forEach((cur, index) => {
if (cur[pId] === p[id]) {
let temp = JSON.parse(JSON.stringify(childrens))
temp.splice(index, 1)
translator([cur], temp)
typeof p[children] !== 'undefined' ? p[children].push(cur) : p[children] = [cur]
}
})
})
}
translator(parents, childrens)
return parents
}
js父子关系数据转为树形结构数据
最新推荐文章于 2024-02-01 09:36:46 发布