1     /**
 2      * @description 递归 数组,递归主key,递归关联key
 3      */
 4     getChildren(datas, keya, keyb) {
 5         let data = []
 6         // 找到头
 7         for (let i = 0; i < datas.length; i++) {
 8             if (datas[i][keyb] == "") {
 9                 datas[i].children = this.getChildrens(datas[i], datas, keya, keyb)
10                 data.push(datas[i])
11             }
12         }
13         return data
14     }
15     // 层级递归
16     getChildrens(data, datas, keya, keyb) {
17         let tempdata = []
18         if (keya && keyb) {
19             for (let i = 0; i < datas.length; i++) {
20                 if (data[keya] == datas[i][keyb]) {
21                     tempdata.push(datas[i])
22                 }
23             }
24             // 每层都调用自己,直到自身没有
25             if (tempdata.length) {
26                 for (let i = 0; i < tempdata.length; i++) {
27                     tempdata[i].children = this.getChildrens(tempdata[i], datas, keya, keyb)
28                 }
29             }
30         }
31         return tempdata;
32     }

 

posted on 2021-11-29 12:35  好幸胡哦  阅读(25)  评论(0)    收藏  举报