【发布时间】:2018-09-22 07:03:02
【问题描述】:
期望的行为
按对象的iso_string 属性降序排列对象数组。
实际行为
数组顺序没有改变。
我的尝试
我一定是在某处犯了一个简单的错误,因为多个帖子确认这是正确的sort() 语法。
iso_string 值是用new Date().toISOString() 生成的;
var dates = [{
"formatted_date": "22/09/2018 @ 04:02pm",
"iso_string": "2018-09-22T06:02:22.485Z"
}, {
"formatted_date": "22/09/2018 @ 04:12pm",
"iso_string": "2018-09-22T06:12:04.471Z"
}, {
"formatted_date": "22/09/2018 @ 04:05pm",
"iso_string": "2018-09-22T06:05:45.818Z"
}, {
"formatted_date": "22/09/2018 @ 04:00pm",
"iso_string": "2018-09-22T06:00:46.954Z"
}, {
"formatted_date": "22/09/2018 @ 03:56pm",
"iso_string": "2018-09-22T05:56:13.968Z"
}];
var sorted_dates = dates.sort(function(a, b) {
return b.iso_string - a.iso_string;
});
console.log(sorted_dates);
编辑:我将值包装在 new Date() 中并且它排序正确。
【问题讨论】:
-
你能在 JavaScript 中减去两个字符串吗?这样做的预期结果是什么?
标签: javascript isodate