lodash根据属性值在深层次对象数组中查找

要根据属性值在深层次对象数组中进行查找,可以使用lodashfindfilter函数结合get函数进行操作。

如果只希望找到满足条件的第一个对象,可以使用find函数。如果希望找到所有满足条件的对象,可以使用filter函数。

下面是使用find函数的示例:

const _ = require('lodash');

const data = [
  {
    name: 'John',
    age: 30,
    address: {
      city: 'New York',
      country: 'USA'
    }
  },
  {
    name: 'Jane',
    age: 25,
    address: {
      city: 'London',
      country: 'UK'
    }
  },
  {
    name: 'Bob',
    age: 35,
    address: {
      city: 'Berlin',
      country: 'Germany'
    }
  }
];

const result = _.find(data, { 'address.country': 'UK' });
console.log(result);

上面的示例中,_.find(data, { 'address.country': 'UK' })会在data数组中查找满足address.country等于’UK’的第一个对象。

如果希望找到所有满足条件的对象,可以使用filter函数:

const results = _.filter(data, { 'address.country': 'UK' });
console.log(results);

上面的示例中,_.filter(data, { 'address.country': 'UK' })会返回一个包含所有满足address.country等于’UK’的对象的新数组。