json根据父子id合并
发布时间:2020-12-16 20:00:40 所属栏目:百科 来源:网络整理
导读: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
<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));
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!