2014-02-15 20 views
1

我有一個陣列中的下面的格式由方法使用由下劃線組構建我的數組

[ 
{ 
    "duedate": "15-feb-2014", 
    "alias": "electronus", 
    "agent": "anonymous", 
    "name": "" 
}, 
{ 
    "duedate": "15-feb-2014", 
    "alias": "luminous", 
    "agent": "anonymous", 
    "name": "" 
}, 
{ 
    "duedate": "16-feb-2014", 
    "alias": "GSM", 
    "agent": "anonymous", 
    "name": "" 
} 
] 

下劃線組允許我組使用特性的陣列和在我的情況下,使用截止日期。這將返回類似這樣的

{ 
"15-Feb-2014": [ 
    { 
     "duedate": "15-feb-2014", 
     "alias": "electronus", 
     "agent": "anonymous", 
     "name": "" 
    }, 
    { 
     "duedate": "15-feb-2014", 
     "alias": "luminous", 
     "agent": "anonymous", 
     "name": "" 
    } 
], 
"16-Feb-2014": [ 
    { 
     "duedate": "16-feb-2014", 
     "alias": "GSM", 
     "agent": "anonymous", 
     "name": "" 
    } 
] 
} 

數組有沒有辦法,我能有一個這樣的數組的可能性:

[ 
{ 
    "duedate": "15-feb-2014", 
    "myValues": [ 
     { 
      "duedate": "15-feb-2014", 
      "alias": "electronus", 
      "agent": "anonymous", 
      "name": "" 
     }, 
     { 
      "duedate": "15-feb-2014", 
      "alias": "luminous", 
      "agent": "anonymous", 
      "name": "" 
     } 
    ] 
}, 
{ 
    "duedate": "16-feb-2014", 
    "myValues": [ 
     { 
      "duedate": "16-feb-2014", 
      "alias": "GSM", 
      "agent": "anonymous", 
      "name": "" 
     } 
    ] 
} 
] 

所以我可以有每個到期日期內的多個數組值,所以我可以解析它填寫我無法改變的模板。

我一直在爲此奮鬥了很長一段時間。任何幫助將感激地收到。

+0

必須有一個辦法,可以YOUT告訴我們你的代碼這麼遠? – elclanrs

回答

4

你只需要調用groupBy()map() ...

var groupedArray = _.chain(list) 
         .groupBy(function (x) { return x.duedate }) 
         .map(function (value, date) { 
          return { 
           duedate: date, 
           myValues: value 
          }; 
         }) 
         .value(); 

JS小提琴:http://jsfiddle.net/t2tCa/

+0

非常感謝你! – user3312420

+0

很高興幫助。這實際上是一個有趣的! –