如何通过id在另一个数组(JsonPath)内的ID搜索对象的数组?

问题描述:

我正在尝试使用JsonPath通过id筛选对象数组。对于数组中的每个项目,如果其ID在第二个数组中,我想过滤它。如何通过id在另一个数组(JsonPath)内的ID搜索对象的数组?

所以,比如我有源阵列:

[ 
    { 
    id: 1, 
    name: "House" 
    }, 

    { 
    id: 2, 
    name: "Hamer" 
    }, 
    { 
    id: 13, 
    name: "Book" 
    }, 
    { 
    id: 45, 
    name: "Truck" 
    }, 
] 

我要过滤这个数组的ID,如果该ID是另一个数组,例如:

[ 2, 13] 

这应该导致过滤阵列:

[ 
    { 
     id: 2, 
     name: "Hamer" 
    }, 
    { 
     id: 13, 
     name: "Book" 
    } 
] 

我可以弄清楚如何用很长的时间做这个or语句与第二个数组中的每个项目,但这似乎是一个相当痛苦和愚蠢的方式来过滤一个数组。

如何在第二个数组中使用JsonPath执行上述操作,但没有or

getItemsById = (arr, arr2) => { 
    result = arr.filter(f => arr2.includes(f.id)); 
    console.log(result); 
}