我有嵌套的对象数组,我想在其中创建一个格式的对象
-合并所有来自cn_from
,将所有cn_to
与相应的id
合并到新对象。
我想知道如何使用 javascript
尝试过
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;
}
输入:
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"
}]
}
]
预期输出:
[{
"id": "trans",
"source": ["TH","IN"],
"target": ["AU", "CA"]
},{
"id": "fund",
"source": ["US"],
"target": ["GB", "PL"]
}]
最佳答案
它将为您提供您期望的输出。
obj.map(x => ({ id: x.id, source: x.cn_from.map(x => x.cn), target: x.cn_to.map(x => x.cn) }))
关于javascript - 使用javascript从现有对象创建一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57605026/