Javascript 按子嵌套数组的第一个值对角度管道中的对象集合进行排序
注:Javascript 按子嵌套数组的第一个值对角度管道中的对象集合进行排序,javascript,angular,sorting,pipe,Javascript,Angular,Sorting,Pipe,注: 我是个业余开发人员,还有很多东西要学 我不认为这是一个重复:其他一些问题是相关的(我试图调整建议的解决方案),但没有成功。由于电影的属性是只读的,因此必须在有角度的管道中使用它也会变得更加困难 该系列由电影组成: interface Movie { title: string; schedules: [ { theater: string, start: Date[] // array of dates such as "2017-06-1
- 我是个业余开发人员,还有很多东西要学李>
- 我不认为这是一个重复:其他一些问题是相关的(我试图调整建议的解决方案),但没有成功。由于电影的属性是只读的,因此必须在有角度的管道中使用它也会变得更加困难
interface Movie {
title: string;
schedules: [
{
theater: string,
start: Date[] // array of dates such as "2017-06-18T17:20:00.000+02:00"
// already sorted in ascending order
}
]
}
用户可以按开始时间进行过滤,因此我设置了两个连续管道:
<div *ngFor="movies | moviesFilter:filter_parameters | moviesSort">
...
我的建议是远离管道进行分拣。按照常规业务逻辑进行排序 Angular团队在这里解释道: Angular不提供用于筛选或排序列表的管道。 熟悉AngularJS的开发人员将其称为filter和orderBy。 在角度上没有等价物 这不是疏忽。Angular不提供此类管道,因为它们 表现不佳,防止过度缩小
我的建议是远离管道进行分拣。按照常规业务逻辑进行排序 Angular团队在这里解释道: Angular不提供用于筛选或排序列表的管道。 熟悉AngularJS的开发人员将其称为filter和orderBy。 在角度上没有等价物 这不是疏忽。Angular不提供此类管道,因为它们 表现不佳,防止过度缩小
Pipe({
name: 'moviesSort',
pure: true
})
export class MoviesSortPipe implements PipeTransform {
transform(movies:movie[]):movie[] {
...
...
return sorted_movies;
}
}