我如何应用 groupBy 但使用不同的值作为我的键?

How can I apply groupBy but use a different value as my key?

我的HTML代码如下所示:

<div class="content">
  <div class="panel columns small-12" ng-repeat="(key, value) in rse| groupBy: 'unixTime'">
      <h5>{{key}}</h5>
      <li ng-repeat="se in value">
        {{se.name}} ({{se.times}} times)
      </li>
  </div>
</div>

分组依据由以下提供:https://github.com/a8m/angular-filter

它将提供的数据是 json 个对象的列表,如下所示:

[
    {
        "name": "test",
        "unixTime": "1422748800",
        "uiTime": "Monday 6th December 2015",
        "times": "1"
    },
    {
        "name": "test",
        "unixTime": "1423094400",
        "uiTime": "Tuesday 1th December 2015",
        "times": "1"
    },
    {
        "name": "test",
        "unixTime": "1423267200",
        "uiTime": "Wednesday 2th December 2015",
        "times": "1"
    }
]

我面临的问题是在对我的 UNIX 时间进行分组时,这是自纪元以来的 MS 我按照我需要的正确顺序获得了时间,但是我无法在 H5 标签中显示用户友好日期,然后我必须显示它在 LI 中重复,这意味着日期将显示多次。

如果我然后将组按时间更改为 "uiTime" 而不是自纪元以来用户友好的 ms 版本,它会以错误的顺序显示它们,例如按字母顺序显示 "Monday, Tuesday, Wednesday",这显然是错误的顺序。

我如何分组但使用不同的值作为我的键,甚至将 ms 从纪元转换为我在视图中的友好 UI 友好日期字符串(我知道这是一个不好的做法,因为我这样做这在我的服务层和在视图中使用服务是错误的)。

希望有人能提供帮助。 谢谢

你可以写

<div class="content">
  <div class="panel columns small-12" ng-repeat="(key, value) in rse| groupBy: 'unixTime'">
      <h5>{{value[0].uiTime}}</h5>
      <li ng-repeat="se in value">
        {{se.name}} ({{se.times}} times)
      </li>
  </div>
</div>