javascript - 来自多个数组值的 Javascript 匹配
问题描述
这是我的数据数组:
let myvalue= [
{
"feeSubHeadId": 1022692502,
"feeSubHeadName": "Quiz-01",
"fineAmount": 20
},
{
"feeSubHeadId": 1012182502,
"feeSubHeadName": "Half Yearly Exam",
"fineAmount": 0
},
{
"feeSubHeadId": 1022682502,
"feeSubHeadName": "Quiz-02",
"fineAmount": 0
},
{
"feeSubHeadId": 1012192502,
"feeSubHeadName": "Annual Exam",
"fineAmount": 0
}
]
我想用另一个数组匹配数组元素,例如:
let match= [1022692502, 1012182502]
在这种情况下,预期结果是:
[
{
"fineAmount": 20
},
{
"fineAmount": 0
}
]
我怎样才能做到这一点?
解决方案
Array.filter
您应该尝试使用&来执行此操作Array.map
。将Array.filter
测试 是否feeSubHeadId
包含在match
.
然后,您可以继续提取fineAmount
.Array.map
let myvalue= [
{
"feeSubHeadId": 1022692502,
"feeSubHeadName": "Quiz-01",
"fineAmount": 20
},
{
"feeSubHeadId": 1012182502,
"feeSubHeadName": "Half Yearly Exam",
"fineAmount": 0
},
{
"feeSubHeadId": 1022682502,
"feeSubHeadName": "Quiz-02",
"fineAmount": 0
},
{
"feeSubHeadId": 1012192502,
"feeSubHeadName": "Annual Exam",
"fineAmount": 0
}
];
let match= [1022692502, 1012182502];
const matchedItems = myvalue.filter(({feeSubHeadId}) => match.includes(feeSubHeadId)).map(({fineAmount})=> ({fineAmount}));
console.log(matchedItems);
我们也可以使用Array.from
,第一个参数是过滤后的数组,第二个参数将其映射到新对象:
let myvalue= [
{
"feeSubHeadId": 1022692502,
"feeSubHeadName": "Quiz-01",
"fineAmount": 20
},
{
"feeSubHeadId": 1012182502,
"feeSubHeadName": "Half Yearly Exam",
"fineAmount": 0
},
{
"feeSubHeadId": 1022682502,
"feeSubHeadName": "Quiz-02",
"fineAmount": 0
},
{
"feeSubHeadId": 1012192502,
"feeSubHeadName": "Annual Exam",
"fineAmount": 0
}
];
let match= [1022692502, 1012182502];
const matchedItems = Array.from(myvalue.filter(({feeSubHeadId}) => match.includes(feeSubHeadId)),
({fineAmount}) => ({fineAmount}));
console.log(matchedItems);
推荐阅读
- swift - 使用 Parse iOS SDK 和 Facebook 构建错误
- javascript - 卡住未定义的功能
- javascript - 组合的 observable 不会进行 HTTP 调用
- javascript - 获取热门网站图标 - 浏览器扩展
- openshift - Spring Boot 应用程序(JHipster)和 Keycloak 之间通过 HTTPS 的通信问题
- javascript - 在提交时清除所有 textInput 字段反应本机
- python - 安装 pyinstaller 时出现错误
- java - 使用 Spring MVC 和模拟服务测试 REST 服务
- python - 错误:命令错误退出状态1:窗口中的python
- javascript - 如何让 d3.js 条形图从 0 开始而不是从顶部开始