js 找出多维数组中的某子级元素


 

 

 

 数组是多维的, 查找最子级的 id

 1  let data = [
 2           {
 3             id: 1,
 4             supplier: false,
 5             text: "江苏",
 6             childList: [{
 7               id: 3,
 8               supplier: false,
 9               text: "南京",
10               childList: [{
11                 id: 1,
12                 supplier: true,
13                 text: "南京机械厂"
14               }]
15             }],
16           },
17           {
18             id: 4,
19             supplier: false,
20             text: "山东",
21             childList: [{
22               id: 3,
23               supplier: false,
24               text: "济南",
25               childList: [{
26                 id: 2,
27                 supplier: true,
28                 text: "机械厂"
29               }]
30             }],
31           }]
32 
33 
34       findSupLink(data,supplierId) {
35         //传入
36         var fun = function (i, n) {
37           if (i && i.length > 0) {
38             for (let v of i) {
39               if (v.supplier) {
40                 return v.id == n ? v.id : false
41               } else {
42                 if (v.childList && v.childList.length > 0) {
43                   let re = fun(v.childList, n)
44                   if (re) {
45                     return v.id + ',' + re
46                   }
47                 }
48               }
49             }
50           }
51         }
52 
53         let ret = fun(data, supplierId)
54         ret = eval(`([${ret}])`)
55         console.log(ret)
56         return eval(`([${ret}])`)
57       }
58 //调用
59 this.findSupLink(data,1)

结果: [1, 3,1]


免责声明!

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



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