【发布时间】:2019-04-05 07:58:40
【问题描述】:
如何根据 javascript 中的条件更新特定对象
根据条件,我有一个名为 obj 的对象:
'in'=="credit"和'out'=="bank"和"id"=="trans",获取对象并添加默认为'in'=="bank"和'out'=="bank"和"id"=="fund。
'in'=="debit"和'out'=="bank"和"id"=="fund",获取对象并添加默认为'in'=="bank"和'out'=="bank"和"id"=="trans"。
我尝试过滤但卡住了
function getValue(send,receive, id){
const temp = obj.map(e => Object.entries(e).map(([k, val]) => val)).flat(3)
this.selectedProviderList = temp.filter(x=>x.in== send && x.in ==receive && x.id==id);
}
getValue("credit", "bank", "trans");
var obj = [{
"btob": [{
"id": "trans",
"in": "bank",
"out": "bank",
"value": 10
},{
"id": "fund",
"in": "bank",
"out": "bank",
"value": 10
}],
"ctob": [{
"id": "trans",
"in": "credit",
"out": "bank",
"value": 20
},{
"id": "fund",
"in": "credit",
"out": "bank",
"value": 10
}],
"dtob": [{
"id": "trans",
"in": "debit",
"out": "bank",
"value": 20
},{
"id": "fund",
"in": "debit",
"out": "bank",
"value": 10
}]
}]
// get the values if 'in' is 'credit' and 'out' is 'bank' and id is "trans"
Expected Output
[
{
"id": "trans",
"in": "credit",
"out": "bank",
"value": 20
},
{
"id": "fund",
"in": "bank",
"out": "bank",
"value": 10
}
]
// get the values if 'in' is 'debit' and 'out' is 'bank' and id is "fund"
[{
"id": "fund",
"in": "debit",
"out": "bank",
"value": 10
},{
"id": "trans",
"in": "bank",
"out": "bank",
"value": 10
}]
【问题讨论】:
-
对不起,我不明白。对于预期的输出,数组中的第一个对象是由于过滤了
in、out和fund值。但是数组中的第二个对象是从哪里来的呢?
标签: javascript jquery arrays json object