JavaScript
x
6
1
jsondata=
2
[{"unit": "H1", "account": "ambro","domain": "DFRE"},
3
{"unit": "H1","account": "ambro","domain": "DFRE"},
4
{"unit": "H2","account": "Honda","domain": "HRO"},
5
{"unit": "H2","account": "ford","domain": "HRO"} ]
6
my output should be
JavaScript
1
3
1
{unitname : H1,no_of_accounts : 2,accounts_name:[ambro]},
2
{unitname : H2,no_of_accounts : 2,accounts_name:[ford,Honda]}
3
Advertisement
Answer
JavaScript
1
17
17
1
const data = [
2
{"unit": "H1", "account": "ambro","domain": "DFRE"},
3
{"unit": "H1","account": "ambro","domain": "DFRE"},
4
{"unit": "H2","account": "Honda","domain": "HRO"},
5
{"unit": "H2","account": "ford","domain": "HRO"}
6
];
7
8
const res = data.reduce((a, {unit, account}) => {
9
a[unit] = a[unit] ?
10
{ a[unit], no_of_accounts: a[unit].no_of_accounts+1, accounts_name: [new Set([a[unit].accounts_name, account])] }
11
:
12
{ unitname: unit, no_of_accounts:1, accounts_name: [account] };
13
14
return a;
15
}, {});
16
17
console.log(Object.values(res));
JavaScript
1
1
1
.as-console-wrapper { max-height: 100% !important; top: 0; }