使用 lodash 过滤对象数组并检查对象 属性 值是否存在于另一个数组中

Use lodash to filter array of objects and check if object property value exists in another Array

我正在尝试使用 lodash 或纯 JS 来完成以下任务。

我有一个对象数组,我按给定的 属性 值

进行过滤

let res = _.filter(array, {obj.property: "somevalue"}

现在我有另一个像这样的数组 [val1, val2,val3] 我希望过滤后的数组属性与这样的数组进行比较。

let res = _.filter(array, {obj.property1: "somevalue", obj.property2: existsInOtherArray}

您可以使用集合和数组的过滤方法,例如:

const array = [
  {property1: 'somevalue'},
  {property1: 'somevalue', property2: 'val2'}
]

const set = new Set(['val1', 'val2', 'val3'])
const res = array.filter(obj => obj.property1 === 'somevalue'
                                && set.has(obj.property2))

console.log(res)