我正在尝试按日期排序数组对象
this.result.sort((a, b) => {
if (this.filter.orderBy === 'possession') {
//if(moment(a.overview.possession_starts).isAfter(moment(b.overview.possession_starts)))
//sort string ascending
if (moment(a.overview.possession_starts) > moment(b.overview.possession_starts))
//sort string ascending
return 1;
return 0;
});
在Mozilla和chrome
中工作正常答案 0 :(得分:1)
您的回调会返回1
,0
或undefined
。这不是sort function所要求的。解决它:
if (this.filter.orderBy === 'possession') {
this.result.sort((a, b) => {
return moment(a.overview.possession_starts).milliseconds() - moment(b.overview.possession_starts).milliseconds();
});
}
答案 1 :(得分:-1)
您可以用这一行替换您的代码。
this.filter.orderBy === 'possession' && this.result.sort((a, b) => moment(a.overview.possession_starts).milliseconds() - moment(b.overview.possession_starts).milliseconds());