【发布时间】:2019-01-29 00:33:37
【问题描述】:
我正在尝试为跨浏览器工作的新闻列表实现日期排序方法。但是,我尝试过的一种效果很好的方法仅适用于 Chrome:
origArt.sort(function(a, b) {
var dateA = new Date(a.date), dateB = new Date(b.date);
return dateB - dateA;
});
我也尝试了此代码,在其他排序问题中建议作为可能的解决方案:
origArt.sort(function(a,b){
return (b.date > a.date) ? 1 : (b.date < a.date) ? -1 : 0;
});
但是,因为我的 JSON 中的日期与年份不同;月和年;以及月、年和日;新闻列表倒序排列 按字母顺序,而不是逆时间顺序。
【问题讨论】:
-
变量
a和b有哪些例子?它们是格式为“2000”、“12/2000”、“12/1/2000”的字符串吗? -
您的第一个似乎应该可以工作。当您在其他浏览器中尝试时会发生什么?
-
它们是字符串,例如:“2018.”、“April 8, 2015.”和“September 2015”。 @JohnMontgomery -- 在 Safari 和 Firefox 中,列表是根据项目在 JSON 文件中的顺序输出的。