gpt4 book ai didi

javascript - 通过 ng-repeat 过滤器进行 Angular 组

转载 作者:行者123 更新时间:2023-12-02 16:06:10 26 4
gpt4 key购买 nike

我正在使用这个库: https://github.com/a8m/angular-filter#groupby

所以我可以对列表项进行分组,但我的问题有点不同,

假设这是我的数据集:

[
{name: 'foo', date: '2015-01-01'},
{name: 'bar', date: '2015-01-04'},
{name: 'bazz', date: '2015-02-22'},
{name: 'ahh', date: '2015-06-15'},
{name: 'qwe', date: '2015-06-16'},
]

我想按月份和年份过滤它,但该库不能满足我的需要。

<li ng-repeat="(key,value) in items | groupBy: 'date'">
<h1><--MONTH--></h1>
<p>{{value.details}}</p>
</li>

最佳答案

我认为您可以将日期字符串转换为日期部分,例如日、月和年,然后将嵌套属性传递给 groupBy 过滤器。

将数据转换为此。

[
{name: 'foo', date: {day: 1, month: 'January', year: 2015 }
{name: 'foo', date: {day: 1, month: 'February', year: 2015 }
..
..
]

您可以使用以下逻辑将日期字符串转换为日期部分

var data = [....]
var monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
angular.forEach(data, function (d) {
d.date = new Date(d.date);
d.date = {
d: dt.getDate(),
m: monthNames[d.date.getMonth()],
y: d.date.getFullYear()
};
})

HTML

<li ng-repeat="(key,value) in items | groupBy: 'date.month'">
<h1><--MONTH--></h1>
<p>{{value.details}}</p>
</li>

关于javascript - 通过 ng-repeat 过滤器进行 Angular 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30711293/

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