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