将一维数组处理成树形结构数据


list是个一维数组数据,每项数据中有id和pid,id是自己的唯一标识符,pid是自己父级的id。

 1 function(list){
 2     let dealOptions = []
 3     // 给每个数据加children属性
 4     _.forEach(list, one => {
 5       one.children = []
 6     })
 7     _.forEach(list, one => {
 8       let findIndex = _.findIndex(list, item => {
 9         return item.id === one.pid
10       })
11       if ((!one.pid && one.pid !== 0 && one.pid !== false) || findIndex === -1) {
12         dealOptions.push(one)
13       } else {
14         list[findIndex].children.push(one)
15       }
16     })
17     return dealOptions
18 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM