我正在尝试使用JsonPath按ID过滤对象数组。对于数组中的每个项目,如果其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
?
答案 0 :(得分:1)
getItemsById = (arr, arr2) => {
result = arr.filter(f => arr2.includes(f.id));
console.log(result);
}