我有json格式数据:
[{date: 2017-10-18T03:00:00+03:00 , name : 'A'},
{date: 2017-11-18T03:00:00+03:00 , name : 'B'}]
所以如何显示从最新日期到最早日期的这些数据。 结果将是:
B
A
因为B是最新的
答案 0 :(得分:0)
您可以创建如下所示的自定义管道。然后在你的html中添加管道为| arraySort:['date','DESC']
import { Pipe, PipeTransform } from '@angular/core';
import * as _ from 'lodash';
@Pipe({
name: 'arraySort'
})
export class ArraySortPipe implements PipeTransform {
transform(array: Array<{}>, args: string[]): Array<string> | Array<{}> {
array = array || [];
if (typeof args === 'undefined' || args.length !== 2) {
return array;
}
const [key, direction] = args;
if (direction !== 'ASC' && direction !== 'DESC') {
return array;
}
return _.orderBy(array, (item:any) => item[key], direction.toLowerCase());
}
}