0

我有以下集合:NgRepeat,由多个日期组

[ 
{ 
    "_id": "54efdd4a70726f7af1030000", 
    "sequence_name": "Do Stuff", 
    "calendar": [ 
    "2015-02-28T09:00:00.000Z", 
    "2015-02-28T18:00:00.000Z", 
    "2015-03-01T03:00:00.000Z" 
    ] 
} 
] 

我需要一群这样的:

{ 
"2015-02-28T09:00:00.000Z": [ 
    { 
    "_id": "54efdd4a70726f7af1030000", 
    "sequence_name": "Do Stuff", 
    } 
], 
"2015-02-28T18:00:00.000Z": [ 
    { 
    "_id": "54efdd4a70726f7af1030000", 
    "sequence_name": "Do Stuff" 
    } 
    ] 
    // key/values keep going for each ... 
} 

,这样我可以(希望)显示这样的数据:

<div ng-repeat='(date, scheds) in prettyDates'> 
    <h6>{{ date | date: 'd MMM' }}</h6> 
    <div>{{ date | date: 'hh:mma' }}</div> 
    <div ng-repeat='s in scheds'> 
    <div class='event-time'>{{ s.start_time | date: 'h a' }}</div> 
    <div class='event-title'>{{ s.sequence_name }}</div> 
    </div> 
</div> 

角度是否有办法做一个groupBy当有多个项目要分组或组何时会有重复的entrie S'

+0

可能重复http://stackoverflow.com/questions/14800862/how-can-i-group-data-with-an-angular-filter – 2015-03-02 05:06:34

+0

该问题中的用户不是按日期集合分组的。它们仅由一个可能的值组合。我想要做的是按值集合进行分组,而不是单个属性。在我的情况下,这个答案不能帮助我。 – Rick 2015-03-02 06:46:02

回答

0

我不认为angularJs带有类似的东西。一个选项是使用lodash或类似的库在你的控制器中进行分组,然后循环遍历结果。

检查这些文件,以在GROUPBY lodash:中 https://lodash.com/docs#groupBy