Arrays 执行按日期排序管道时出现的问题

Arrays 执行按日期排序管道时出现的问题,arrays,angular,sorting,date,Arrays,Angular,Sorting,Date,我正在尝试实现排序管道,因为我遵循了此文档 根据这一点,我创建了一个管道,并在组件中导入该管道,并在html中附加管道 它是按日期排序的,但顺序不正确[ //组件 从“../../pipes/order by.pipe”导入{OrderByPipe}; 从“@angular/core”导入{Component,OnInit}; 导出类SurveyInFoc组件实现OnInit{ 调查记录:数组; isDesc:boolean=false; 列:string=“date”; 方向:数字; 构

我正在尝试实现排序管道,因为我遵循了此文档

根据这一点,我创建了一个管道,并在组件中导入该管道,并在html中附加管道

它是按日期排序的,但顺序不正确[

//组件
从“../../pipes/order by.pipe”导入{OrderByPipe};
从“@angular/core”导入{Component,OnInit};
导出类SurveyInFoc组件实现OnInit{
调查记录:数组;
isDesc:boolean=false;
列:string=“date”;
方向:数字;
构造函数(){}
恩戈尼尼特(){
this.surveyRecords=[
{surveyID:1,surveyName:“survey1”,日期:“2016年10月1日”},
{surveyID:9,surveyName:“survey9”,日期:“2016年12月1日”},
{surveyID:3,surveyName:“survey3”,日期:“2016年10月9日”},
{surveyID:5,surveyName:“survey5”,日期:“2016年10月11日”},
{调查ID:6,调查名称:“调查6”,日期:“2016年10月16日”},
{调查ID:7,调查名称:“调查7”,日期:“2016年10月19日”},
{调查ID:8,调查名称:“调查8”,日期:“2016年10月21日”},
{调查ID:4,调查名称:“调查4”,日期:“2016年10月10日”},
{调查ID:10,调查名称:“调查10”,日期:“2017年10月1日”},
{surveyID:2,surveyName:“survey2”,日期:“2016年10月5日”},
{surveyID:11,surveyName:“survey11”,日期:“2017年10月5日”},
{调查ID:12,调查名称:“调查12”,日期:“2017年10月15日”},
{调查ID:13,调查名称:“调查13”,日期:“2017年10月25日”}
];
}
排序(属性){
console.log(属性);
this.isDesc=!this.isDesc;//更改方向
this.column=属性;
this.direction=this.isDesc?1:-1;
}
}
//烟斗
从“@angular/core”导入{Pipe,PipeTransform};
@烟斗({
名称:'orderBy'
})
导出类OrderByPipe实现PipeTransform{
转换(surveyRecords:Array,args?:any):any{
//返回null;
console.log(surveyRecords);
returnsurveyrecords.sort(函数(a,b){
a['date']=date.parse(a['date']);
b['date']=date.parse(b['date']);
if(a[args.property]b[args.property]){
返回1*args.direction;
}否则{
返回0;
}
});
}
}

调查
向下箭头

{{survey.surveyName}
您的日期是一个“字符串”,不是“yyyy-MM-dd”,因此您必须转换为带有parseDate的date()对象,或用“-”分割,然后在排序之前重新排序。“31-10-1900”>“01-05-2017”您的日期是一个“字符串”,而不是“yyyy-MM-dd”,因此您必须转换为带有parseDate或用“-”分割的date()对象,并在排序之前重新排序。“31-10-1900”>“01-05-2017”