一维数组转换树结构
list是个一维数组数据,每项数据中有id和pid,id是自己的唯一标识符,pid是自己父级的id。
function(list){
let dealOptions = []
// 给每个数据加children属性
_.forEach(list, one => {
one.children = []
})
_.forEach(list, one => {
let findIndex = _.findIndex(list, item => {
return item.id === one.pid
})
if ((!one.pid && one.pid !== 0 && one.pid !== false) || findIndex === -1) {
dealOptions.push(one)
} else {
list[findIndex].children.push(one)
}
})
return dealOptions
}
浙公网安备 33010602011771号