要按日期对对象数组进行排序,可以使用Angular的Array.prototype.sort()方法和Date对象的比较函数。下面是一个示例代码:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
- {{ item.name }} - {{ item.date | date }}
`,
styleUrls: ['./app.component.css']
})
export class AppComponent {
items = [
{ name: 'Item 1', date: new Date('2021-10-01') },
{ name: 'Item 2', date: new Date('2021-09-01') },
{ name: 'Item 3', date: new Date('2021-11-01') }
];
get sortedItems() {
return this.items.sort((a, b) => {
return new Date(a.date).getTime() - new Date(b.date).getTime();
});
}
}
在这个示例中,AppComponent类中有一个名为items的对象数组,每个对象都有一个名为date的日期属性。在模板中,使用*ngFor指令循环遍历sortedItems数组,并显示每个对象的名称和日期。sortedItems是一个getter方法,它返回排序后的items数组。在排序函数中,我们使用new Date(date).getTime()将日期转换为毫秒数,然后进行比较。最后,按照日期升序对数组进行排序。
请注意,这只是一个示例,你可以根据自己的需求进行修改和扩展。
下一篇:Angular按升序排列数据