Javascript 如何使用Lodash从数组中获取唯一和最大元素

Javascript 如何使用Lodash从数组中获取唯一和最大元素,javascript,lodash,Javascript,Lodash,从上面的数组中,我希望使用lodash在id和最大值的基础上获得唯一元素,ES5解决方案使用: var data=[{“label”:“tagA”,“value”:1},{“label”:“tagB”,“value”:2},{“label”:“tagC”,“value”:3},{“label”:“tagB”,“value”:4},{“label”:“tagB”,“value”:5}]; var-helper={}; var结果=数据.reduce(函数(r,o){ 如果(!helper[o.l

从上面的数组中,我希望使用lodash在id和最大值的基础上获得唯一元素,ES5解决方案使用:

var data=[{“label”:“tagA”,“value”:1},{“label”:“tagB”,“value”:2},{“label”:“tagC”,“value”:3},{“label”:“tagB”,“value”:4},{“label”:“tagB”,“value”:5}];
var-helper={};
var结果=数据.reduce(函数(r,o){
如果(!helper[o.label]){
r、 push((helper[o.label]=Object.assign(o));
}否则{
o、 value>helper[o.label]。value&(helper[o.label]。value=o.value);
}
返回r;
}, []);

控制台日志(结果)这是一个使用和的lodash解决方案

var数据=[
{
标签:“tagA”,
价值:1
},
{
标签:“tagB”,
价值:2
},
{
标签:“tagC”,
价值:3
},
{
标签:“tagB”,
价值:4
},
{
标签:“tagB”,
价值:5
},
];
var结果=(数据)
.orderBy(['label','value'],['asc','desc'])
.uniqBy(“标签”)
.value();
控制台日志(结果)
。作为控制台包装{最小高度:100%;顶部:0}
var data = [
  {
    label: 'tagA',
    value: 1
  },
  {
    label: 'tagB',
    value: 2
  },
  {
    label: 'tagC',
    value: 3
  },
  {
    label: 'tagB',
    value: 4
  },
  {
    label: 'tagB',
    value: 5
  },
];
var result = _(data)
  .orderBy(['label', 'value'], ['asc', 'desc'])
  .uniqBy('label')
  .value();