將一維數組處理成樹形結構數據


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