2017-02-20 49 views
0

我是新來Underscore.jsUnderscore.js唯一值和屬性的計數:非常久遠的另一個屬性:2級

假設我有此數組對象:

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

我唯一使用:

_.countBy(result, "couponid") 

其中結果是數組。

任何人都可以請告訴,現在我怎麼能得到每個獨特的優惠券ID有多少個獨特的位置ID(與位置ID)?即在上述couponid 500將具有計數2,couponid 600將具有計數1

回答

0

如果我理解正確,我認爲這會做你想要什麼:

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

首先,我們組由couponid然後映射該對象以統計該組內的每個locationid

這將導致一個對象,它看起來像這樣:

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

    600: { 
     15: 1 
    } 
} 
+0

是的,這就是我一直在尋找。早些時候,通過_.countBy(結果,「couponid」),我獲得了唯一優惠券ID及其計數。 (這是爲Highcharts圖表生成數據)現在爲了位置明智的鑽取,我需要這個。任何人在閱讀本文時,早期的一行_.countBy(result,「couponid」)在另一個StackOverflow問題上也由Gruff解答。 – Bhargava

相關問題