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 }
浙公网安备 33010602011771号