使用来自另一个数组的匹配字符串过滤JSON数组

时间:2019-11-04 16:50:04

标签: typescript

我有一个主列表供您参考和过滤:

nvMaster: [
    {"1": "One"},
    {"2": "TWO"},
    {"3": "THREE"},
    {"4":"FOUR"},
    {"5":"FIVE"}

];

我有最后一个JSON形式的第二个允许值数组。

nvPermitted:["1","3","5"];

我需要形成如下的最终数组:

nvFinal: [
    {"1": "One"},       
    {"3": "THREE"},
    {"5":"FIVE"}
];

对此提供任何帮助,我们深表感谢。

1 个答案:

答案 0 :(得分:0)

您可能希望像这样重构代码

nvMaster: [
    "One",
    "TWO",
    "THREE",
    "FOUR",
    "FIVE"
];
nvPermitted:[0, 2, 4]; // arr start at 0
nvFinal: nvMaster.reduce((acc, val, idx) => {
    if (nvPermitted.indexOf(idx) > -1) {
        acc[idx + 1] = val;
    }
    return acc;
}, {});