Я хотел бы знать, как фильтровать объект, передавая массивы значений в JavaScript
Как передать массив значений в качестве аргументов и отфильтровать объект, используя JavaScript.
На основе send
и receive
с id
получите значение объекта в javascript.
для id
trans, если send
(in) равно bank
и receive
(out) равно bank
,
для фонда id
, если send
(вход) равен credit
и receive
(выход) равен bank
и
для id
insta, если send
(in) равно debit
и receive
(out) равно bank
, получить результат obj
var send=['bank', 'credit', 'debit'];
var receive = ['bank', 'bank', 'bank'];
var id=['trans', 'fund', 'insta'];
var result = getSample(sample,send, receive, id);
I have tried but got stuck
function getSample(sample,sn, rcn, id){
const temp = sample.map(e => Object.entries(e).map(([k, val]) => val)).flat(3)
var selectval= temp.filter(x=>x.in==scn && x.out==rcn && x.id == id);
return selectval;
}
var sample =
[{
"btob": [{
"id": "trans",
"in": "bank",
"out": "bank",
"value": 10,
},{
"id": "fund",
"in": "bank",
"out": "bank",
"value": 10
},{
"id": "insta",
"in": "bank",
"out": "bank",
"value": 10
}],
"ctob": [{
"id": "trans",
"in": "credit",
"out": "bank",
"value": 20
},{
"id": "fund",
"in": "credit",
"out": "bank",
"value": 10
},{
"id": "insta",
"in": "bank",
"out": "bank",
"value": 10
}],
"dtob": [{
"id": "trans",
"in": "debit",
"out": "bank",
"value": 20
},{
"id": "fund",
"in": "debit",
"out": "bank",
"value": 10
},{
"id": "insta",
"in": "debit",
"out": "bank",
"value": 10
}]
}]
Expected Output:
result=[
{
"id": "trans",
"in": "bank",
"out": "bank",
"value": 10,
},
{
"id": "fund",
"in": "credit",
"out": "bank",
"value": 10
},
{
"id": "insta",
"in": "debit",
"out": "bank",
"value": 10
}
]