I have nested object array in which I would like to create a object in a format
-combine all from cn_from, combine all cn_to with the respective id to new object.
I would like to know how to do using javascript
Tried
var result = getObj(obj);
getObj(obj) {
var getallsrc = obj.map(e => e.cn_from.map(i => [i.cn]));
var getalltar = obj.map(e => e.cn_to.map(i => [i.cn]));
var newobj = [];
newobj.push({ source:getallsrc });
newobj.push({ source:getalltar });
return newobj;
}
Input:
var obj = [
{
"id": "trans",
"cn_from":[{
"cn": "TH",
"ccy": "THB"
},{
"cn": "IN",
"ccy": "INR"
}],
"cn_to":[{
"cn": "AU",
"ccy": "AUD"
},{
"cn": "CA",
"ccy": "CAD"
}]
},
{
"id": "fund",
"cn_from":[{
"cn": "US",
"ccy": "USD"
}],
"cn_to":[{
"cn": "GB",
"ccy": "GBP"
},{
"cn": "PL",
"ccy": "PLD"
}]
}
]
Expected Output:
[{
"id": "trans",
"source": ["TH","IN"],
"target": ["AU", "CA"]
},{
"id": "fund",
"source": ["US"],
"target": ["GB", "PL"]
}]