我想知道如何通过在javascript中传递值数组来过滤对象如何将值数组作为参数传递并使用javascript过滤对象。基于send和,receive使用idjavascript获取对象值。对于idtrans,如果send(in)是bank并且receive(out)是bank,对于id基金,如果send(in)是credit和receive(out)是bankand对于idinsta,如果send(in)是debit并且receive(out)是bank,则得到结果objvar 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 stuckfunction 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 } ]
添加回答
举报
0/150
提交
取消