扁平化数组转成树形嵌套数组

728 阅读1分钟

/**

  • list  初始数组

*  父级的id与子级的parentId对应,是api必须返回的数据

  • ‘-1‘    根据api返回的最上面那级的parentId进行判断

*/

buildTree(list) {

lettemp = {}

lettree = []

for (leti in list) {

temp[list[i].id] = list[i]

}

for (leti in temp) {

if (temp[i].parentId !== '-1') {

if (!temp[temp[i].parentId].children) {

temp[temp[i].parentId].children = []

}

temp[temp[i].parentId].children.push(temp[i])

} else {

tree.push(temp[i])

}

}

return tree

}