javascript - 在嵌套的 JavaScript 对象中插入一个条目
问题描述
我在将条目插入嵌套 JavaScript 对象时遇到问题
这是我获取条目的对象
const data = {
periods: [
{
decisions: [
{
bank: {
name: "Team1"
},
bSPositionDecisions: [
{
totalInputRate: 1.0,
balanceSheetPosition: {
name: "asset_bc_lombard_a_onsight",
category: "LOMBARD_LOANS",
type: "ASSET"
}
},
{
totalInputRate: 2.0,
balanceSheetPosition: {
name: "asset_bc_lombard_a_lt1m",
category: "LOMBARD_LOANS",
type: "ASSET"
}
}
]
},
{
bank: {
name: "Team2"
},
bSPositionDecisions: [
{
totalInputRate: 5.0,
balanceSheetPosition: {
name: "asset_bc_lombard_a_onsight",
category: "LOMBARD_LOANS",
type: "ASSET"
}
},
{
totalInputRate: 6.0,
balanceSheetPosition: {
name: "asset_bc_lombard_a_lt1m",
category: "LOMBARD_LOANS",
type: "ASSET"
}
}
]
}
]
}
]
};
我一直在努力的是遍历这个对象并获取与“name”、“category”、“type”和银行名称(team1 或 team2)匹配的“totalInputRate”并将其插入另一个对象
我目前的输出看起来像这样
bankname = { banks:
[ { name: 'Team1',
LOMBARD_LOANS:
[ {
name: 'asset_bc_lombard_a_onsight',
category: 'LOMBARD_LOANS' },
{
name: 'asset_bc_lombard_a_lt1m',
category: 'LOMBARD_LOANS' } ],
},
{ name: 'Team2',
LOMBARD_LOANS:
[ {
name: 'asset_bc_lombard_a_onsight',
category: 'LOMBARD_LOANS' },
{
name: 'asset_bc_lombard_a_lt1m',
category: 'LOMBARD_LOANS' } ],
} ],
}
我要创建的输出应该是这样的
bankname = { banks:
[ { name: 'Team1',
LOMBARD_LOANS:
[ {
totalInputRate: 1.0,
name: 'asset_bc_lombard_a_onsight',
category: 'LOMBARD_LOANS' },
{
totalInputRate: 2.0,
name: 'asset_bc_lombard_a_lt1m',
category: 'LOMBARD_LOANS' } ],
},
{ name: 'Team2',
LOMBARD_LOANS:
[ {
totalInputRate: 5.0,
name: 'asset_bc_lombard_a_onsight',
category: 'LOMBARD_LOANS' },
{
totalInputRate: 6.0,
name: 'asset_bc_lombard_a_lt1m',
category: 'LOMBARD_LOANS' } ],
} ],
}
我尝试了几件事,但似乎没有任何建议?
解决方案
请使用 ES6
const data = {
periods: [
{
decisions: [
{
bank: {
name: "Team1"
},
bSPositionDecisions: [
{
totalInputRate: 1.0,
balanceSheetPosition: {
name: "asset_bc_lombard_a_onsight",
category: "LOMBARD_LOANS",
type: "ASSET"
}
},
{
totalInputRate: 2.0,
balanceSheetPosition: {
name: "asset_bc_lombard_a_lt1m",
category: "LOMBARD_LOANS",
type: "ASSET"
}
}
]
},
{
bank: {
name: "Team2"
},
bSPositionDecisions: [
{
totalInputRate: 5.0,
balanceSheetPosition: {
name: "asset_bc_lombard_a_onsight",
category: "LOMBARD_LOANS",
type: "ASSET"
}
},
{
totalInputRate: 6.0,
balanceSheetPosition: {
name: "asset_bc_lombard_a_lt1m",
category: "LOMBARD_LOANS",
type: "ASSET"
}
}
]
}
]
}
]
};
var finalObj = data.periods[0].decisions.map(item => ({
name: item.bank.name,
LOMBARD_LOANS: item.bSPositionDecisions.map(loan => ({
...loan.balanceSheetPosition,
totalInputRate: loan.totalInputRate
}))
}));
console.log(finalObj);
推荐阅读
- tensorflow - 在 GPU 工作站上设置 Kubernetes 集群的最佳实践
- android - 错误 - 无法加载 AppCombat 操作栏,出现未知错误
- sql - SQL Sum of Points by Company and Team 其中用户有积分、公司、团队
- javascript - 在第一次/最后一次单击时循环显示和隐藏文本/div
- reactjs - 如何包装我得到的 JSON 对象,以便在 js 中添加属性/方法?
- sql - 在 BigQuery 中使用标准 SQL 连接数组(每行)
- arrays - 具有斜率函数的Excel数组公式
- reactjs - 组件标签内的条件语句
- ios - 产生的数字必须与 arc4random 不同
- node.js - 使用 Noble/Node 使用句柄订阅特征