当id在另一个数组(JsonPath)中时,如何通过id搜索对象数组?

时间:2017-09-25 19:41:29

标签: jsonpath

我正在尝试使用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

1 个答案:

答案 0 :(得分:1)

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