下达属性的唯一值和计数:以及另一个属性.:2级

  • 本文关键字:属性 另一个 2级 唯一 underscore.js
  • 更新时间 :
  • 英文 :


我是underscore.js

的新手

假设我有这样的对象:

[
    { couponid: 500, locationid: 10 },
    { couponid: 600, locationid: 15 }, 
    { couponid: 500, locationid: 10 }, 
    { couponid: 500, locationid: 20 } 
]

我得到了独特的优惠券(500,600)以及每种优惠券的计数,使用:

_.countBy(result, "couponid") 

其中结果是阵列。

任何人都可以告诉,现在,对于每个唯一的优惠券,我该如何获得多少个唯一的位置ID(以及位置IDS)?IE在上述优惠券500中将有2个计数,而优惠券600将具有1。

如果我正确理解您,我认为这会做您想要的:

var result = _.chain(data)
    .groupBy('couponid')
    .mapObject( group => _.countBy(group, 'locationid'))
    .value()

首先,我们按couponid分组,然后将该对象映射到该组中的每个locationid

这将导致一个看起来像这样的对象:

{
    500: {
       10: 2,
       20: 1
    },
    600: {
       15: 1
    }   
}

最新更新