简体   繁体   English

如何在Angular 8中映射两个数组

[英]how to map two arrays in Angular 8

I have two arrays partyCtx and planList我有两个数组 partyCtx 和 planList

partyCtx looks like this: partyCtx 看起来像这样:

partyCtx: Array(5)
0: {planCode: "PLN00062", planShortName: "Federal Home Loan Bank of A", employerPartyID: "", employerShortName: "", hasPayrollCenter: false, …}
1: {planCode: "PLN00125", planShortName: "Federal Home Loan Bank of B", employerPartyID: "", employerShortName: "", hasPayrollCenter: false, …}
2: {planCode: "PLN01633", planShortName: "Federal Home Loan Bank of C", employerPartyID: "", employerShortName: "", hasPayrollCenter: false, …}
3: {planCode: "PLN01819", planShortName: "Federal Home Loan Bank of D", employerPartyID: "", employerShortName: "", hasPayrollCenter: false, …}
4: {planCode: "PLN06806", planShortName: "Federal Home Loan Bank of E", employerPartyID: "", employerShortName: "", hasPayrollCenter: true, …}
length: 5

planList looks like this planList 看起来像这样

planList: Array(2)
0: "PLN06806"
1: "PLN00125"
length: 2

Now i need a get an array where u pick the planlist and filter/map it from partyctx so it should look like现在我需要一个数组,你可以在其中选择 planlist 并从 partyctx 过滤/映射它,所以它应该看起来像

result: Array(2)
0: {planCode: "PLN06806", planShortName: "Federal Home Loan Bank of E"}
1: {planCode: "PLN00125", planShortName: "Federal Home Loan Bank of B"}
length: 2

how do i get the result array?我如何获得结果数组?

just filter and map it:只需过滤并映射它:

const result = partyCtx.filter(p => planList.includes(p.planCode)) // filter on items with planCode in planList
        .map(({planCode, planShortName})  => ({planCode, planShortName})) // map to planCode and planShortName

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM