2014-10-13 6 views
3

:Underscore.js 라이브러리의 도움으로 JSON 데이터의 날짜를 그룹화하는 방법은 무엇입니까? 내가 JSON 데이터를 다음 한

var data = [ 
    { "allocated":"20", "unallocated":"2", "day":"01/01/2014" }, 
    { "allocated":"12", "unallocated":"0", "day":"02/01/2014" }, 
    { "allocated":"2", "unallocated":"18", "day":"03/01/2014" }, 
    { "allocated":"22", "unallocated":"2", "day":"04/01/2014" }, 
    { "allocated":"3", "unallocated":"13", "day":"05/01/2014" }, 
    { "allocated":"6", "unallocated":"2.4", "day":"06/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"07/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"08/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"09/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"10/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"11/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"12/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"13/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"14/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"15/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"16/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"17/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"18/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"19/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"20/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"21/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"22/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"23/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"24/01/2014" }, 
    { "allocated":"14", "unallocated":"7", "day":"25/01/2014" } 

] 

지금 내가이 데이터의 "WEEK"GROUPBY을하고 싶어. 그래서, 나는 주 이상의 형태로 위의 데이터가 필요합니다. underscore.js 라이브러리를 사용하면 어떻게 가능합니까? moment.js 및 밑줄의 _.groupBy를 사용하여 사전

답변

5

에서 감사합니다, 당신은 다음 작업을 수행 할 수 있습니다 :

var data = [ 
 
    { "allocated":"20", "unallocated":"2", "day":"01/01/2014" }, 
 
    { "allocated":"12", "unallocated":"0", "day":"02/01/2014" }, 
 
    { "allocated":"2", "unallocated":"18", "day":"03/01/2014" }, 
 
    { "allocated":"22", "unallocated":"2", "day":"04/01/2014" }, 
 
    { "allocated":"3", "unallocated":"13", "day":"05/01/2014" }, 
 
    { "allocated":"6", "unallocated":"2.4", "day":"06/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"07/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"08/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"09/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"10/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"11/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"12/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"13/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"14/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"15/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"16/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"17/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"18/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"19/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"20/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"21/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"22/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"23/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"24/01/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"24/05/2014" }, 
 
    { "allocated":"14", "unallocated":"7", "day":"25/01/2014" } 
 

 
]; 
 

 
var groupedByYear = _.groupBy(data, function(item) { 
 
    var dateMoment = moment(item.day,"DD/MM/YYYY"); 
 
    return dateMoment.week(); 
 
}); 
 

 
var weekDiv = document.getElementById("weeks").innerHTML = JSON.stringify(groupedByYear);
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.min.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script> 
 
<div id="weeks"></div>

+0

은 정말 대답하기 당신의 접근 방식을 주셔서 감사합니다. 완벽한 솔루션을 찾고있는 것 같습니다. 확인해 볼게. 감사! – BomberMan

+0

@ mccannf 여기 내 질문에 나를 도와 드릴까요? http://stackoverflow.com/questions/26135635/how-to-group-the-array-elemnts-from-json-using-d3-and-crossfilter – DevGo