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

标签 javascript lodash

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

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

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

最佳答案

您可以使用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>

关于javascript - 如何通过深层路径在对象数组中查找对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39483206/

相关文章:

javascript - Firebase 一对一聊天

javascript - 绝对中心*上方* div 具有不同大小的内容

javascript - 如何在Vuejs中实现throttle方法?

javascript - Axios Promise 到底什么时候解决

javascript - 在 javascript 源代码中更改换行符类型(即 LF、CR+LF、CR)总是安全的吗?

javascript - Lodash/Javascript 比较数组或对象,如果任何 Prop 匹配则失败

javascript - 如何使用 lodash 比较两个数组(顺序很重要)

javascript - 相当于 Lodash _.get 和 _.has 的下划线

javascript - lodash 在过滤时忽略一些值

javascript - 尝试发送通知的 Firebase 函数失败