lodash:从对象的数组对象获取 - 深的搜索和多predicates [英] lodash: get object from an array of objects - deep search and multiple predicates

查看:1915
本文介绍了lodash:从对象的数组对象获取 - 深的搜索和多predicates的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的:

  OBJ文件= {
  OBJ1:[{金额:5,新:真正},{金额:3,新:假}],
  OBJ2:[{量:1,新:真正},{金额:2,新的:假}]
}

和我想要得到一个对象,其中新:真正的量的最大值

 结果= {金额:5,新:真正}


解决方案

通过lodash 4.x的:

 无功的OBJ = {
  OBJ1:[{金额:5,新:真正},{金额:3,新:假}],
  OBJ2:[{金额:10,新的:真正},{金额:2,新的:假}]
};VAR的结果= _(OBJ文件)
  .MAP(价值=>值)
  .flatten()
  .filter(OBJ => obj.new)
  .orderBy('量','说明')
  。第一();

的jsfiddle

I have this:

objs = {
  obj1 : [{ amount: 5, new: true }, { amount: 3, new: false }],
  obj2: [{ amount: 1, new: true }, { amount: 2, new: false }]
}

And I want get one object where new: true and with maximum value of amount

result = { amount: 5, new: true }

解决方案

With lodash 4.x:

var objs = {
  obj1 : [{ amount: 5, new: true }, { amount: 3, new: false }],
  obj2: [{ amount: 10, new: true }, { amount: 2, new: false }]
};

var result = _(objs)
  .map(value => value)
  .flatten()
  .filter(obj => obj.new)
  .orderBy('amount', 'desc')
  .first();

jsfiddle

这篇关于lodash:从对象的数组对象获取 - 深的搜索和多predicates的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆