2017-02-20 7 views
0

나는 새로운 Underscore.js는 고유 한 값과 속성의 카운트 Underscore.js : 다른 재산 alongwith : 2 개 수준을

내가 객체의 배열이 있다고 가정 : 나는 독특한 가지고

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

_.countBy(result, "couponid") 

여기서 결과는 배열입니다.

누구나 각 개별 쿠폰 ID에 대해 얼마나 많은 고유 한 위치 ID (withwith the locationids)를 얻을 수 있습니까? 위의 couponid 500 즉 카운트 2가, 내가 제대로 이해하면 나는 이것이 당신이 원하는 것을 할 것이라고 생각 카운트 1.

답변

0

있을 것 (600) couponid 것 :

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 (결과, "couponid")의 초기 줄은 또 다른 StackOverflow Question의 Gruff가 대답했습니다. – Bhargava