<table class="text">
<tr class="li1"><td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 { let childId = cur.childId; if (!acc[childId]) { acc[childId] = []; } acc[childId].push(cur); return acc; },{}) json1.forEach(item => { item.childchild = json2Obj[item.childId] }) let json1Obj = json1.reduce((acc,cur) => { let mainId = cur.mainId; if (!acc[mainId]) { acc[mainId] = []; } acc[mainId].push(cur); return acc; },{}) json.forEach(item => { item.child = json1Obj[item.mainId]; }) console.log(JSON.stringify(json)); 方法二: const toObj = (json,idStr) => json.reduce((acc,cur) => { let id = cur[idStr]; if (!acc[id]) { acc[id] = []; } acc[id].push(cur); return acc; },{}) const json2Obj = toObj(json2,'childId'); json1.forEach(item => item.childchild = json2Obj[item.childId]) const json1Obj = toObj(json1,'mainId'); json.forEach(item => item.child = json1Obj[item.mainId]) console.log(JSON.stringify(json));