如何通过深层路径在对象数组中查找对象?

时间:2016-09-14 05:43:59

标签: javascript lodash

我有一个对象数组,它们具有属性.names,这是另一个对象。

我正在使用lodash ...在以下示例中是否有一个帮助方法来获取其yahoo名称为foo的用户?

const users = [{
    names: {
        yahoo: 'foo',
        gmail: 'bar'
    }
}, {
    names: {
        yahoo: 'foo2',
        gmail: 'bar2'
    }   
}];

1 个答案:

答案 0 :(得分:3)

您可以将find与自定义谓词一起使用:

var result = _.find(users, function(user) {
  return user.names.yahoo === 'foo';
});



users = [{
  names: {
   yahoo: 'foo',
   gmail: 'bar'
  }
}, {
  names: {
   yahoo: 'foo2',
   gmail: 'bar2'
  }   
}];

var result = _.find(users, function(user) {
  return user.names.yahoo === 'foo';
});

console.log(result);

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>
&#13;
&#13;
&#13;