【问题标题】:How to find an object in array of objects by a deep path? [duplicate]如何通过深度路径在对象数组中查找对象? [复制]
【发布时间】:2016-09-14 05:43:59
【问题描述】:

我有一个对象数组,其中有一个属性.names,这是另一个对象。

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

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

【问题讨论】:

  • Array#find 应该这样做...
  • 你能提供一个Array#find的例子吗?
  • 提供的链接有几个例子...

标签: javascript lodash


【解决方案1】:

您可以将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>

【讨论】:

  • 你也可以简写_.find(users, { names: { yahoo: 'foo' } })
猜你喜欢
  • 2014-11-03
  • 2019-09-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 2021-05-29
  • 2018-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多