简体   繁体   English

按日期排序在边缘不起作用

[英]sort by date is not working in edge

I am trying to sort a array object by date我正在尝试按日期对数组对象进行排序

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;
});

is working fine in Mozilla and chrome在 Mozilla 和 chrome 中运行良好

Your callback returns 1 , 0 or undefined .您的回调返回10undefined This isn't what's required by the sort function .这不是sort 函数所要求的。 Fix it:修理它:

if (this.filter.orderBy === 'possession') {
    this.result.sort((a, b) => {
           return moment(a.overview.possession_starts).milliseconds() - moment(b.overview.possession_starts).milliseconds();
    });
}

您可以用这一行替换您的代码。

this.filter.orderBy === 'possession' && this.result.sort((a, b) => moment(a.overview.possession_starts).milliseconds() - moment(b.overview.possession_starts).milliseconds());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM