gpt4 book ai didi

javascript - 如何在数据格式的 ng-repeat 中使用 order 和 group by

转载 作者:行者123 更新时间:2023-11-29 15:31:49 26 4
gpt4 key购买 nike

我有一个 json 作为

[{
"type" : "visible_product",
"description" : "asdjkjasd asdak",
"launch_date" : "2015-12-03T10:42:34.972Z"
}, {
"type" : "non_visible_product",
"description" : "askjd asdkasd askdjkasd",
"launch_date" : "2015-12-03T10:44:34.972Z"
}, {
"type" : "durable_product",
"description" : "asdjkjasd asdak",
"launch_date" : "2015-12-04T10:41:34.972Z"
}, {
"type" : "non_durable_product",
"description" : "asdjkjasd asdak",
"launch_date" : "2015-12-04T10:44:34.972Z"
}, {
"type" : "visible_product",
"description" : "asdjkjasd asdak",
"launch_date" : "2015-12-04T10:44:30.972Z"
}, {
"type" : "visible_product",
"description" : "asdjkjasd asdak",
"launch_date" : "2015-12-06T10:44:34.972Z"
}]

我将数据显示为降序排列的列表

<md-list-item class="md-2-line my-list" 
ng-repeat="item in my_json_data | orderBy:'-launch_date'"
ng-class="{launch_sel: $index == selected}">
<div class="md-list-item-text" layout="column" >
<a class="md-accent url-no-decoration" href=""
ng-click="myfunction(item.type, $index)" style="cursor:pointer">
<h3> {{ item.type }} </h3>
<p> {{ item.description}} </p>
<p>{{ item.launch_date | date:'dd-MMM-yy HH:mm'}}</p>
</a>
</div>
</md-list-item>

当我尝试根据日期分组显示数据时,它不起作用。列表应排序并分组为第 6 天的 2 个数据,接下来应该没有第 5 天,因为 json 列表中没有数据,然后是第 4 天,然后是第 3 天。

<div ng-repeat="(key, value) in my_json_data | orderBy:'-launch_date'">
<h3>Group name: {{ key }}</h3>
<md-list-item class="md-2-line my-list"
ng-repeat="item in my_json_data | orderBy:'-launch_date'"
ng-class="{launch_sel: $index == selected}">
<div class="md-list-item-text" layout="column" >
<a class="md-accent url-no-decoration" href=""
ng-click="myfunction(item.type, $index)" style="cursor:pointer">
<h3> {{ item.type }} </h3>
<p> {{ item.description}} </p>
<p>{{ item.launch_date | date:'dd-MMM-yy HH:mm'}}</p>
</a>
</div>
</md-list-item>
</div>

如何将数据显示为

Dec 6 
//data 1
Dec 4
//data 2
//data 3
//data 4
Dec 3
//data 5
//data 6

最佳答案

它实际上非常简单。只需使用 angular.filter 模块中的 groupBy 指令:

<div ng-repeat="(date, entries) in data | groupBy: 'launch_date'">

这是一个 working JSFiddle lin k 使用您的示例数据说明我的解决方案。

关于javascript - 如何在数据格式的 ng-repeat 中使用 order 和 group by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34135753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com