下面是数组。 我要做的是根据最新日期对数组进行排序。 因此,基本上,如果您在对id:12进行排序后查看代码,则应该先于id:23
我尝试过
myArray.sort(function(a, b) {
return a.date- b.date;
});
但它不起作用
0:
{ id: 23
name: "joe"
price: 2300
date: "2018-06-01T09:48:18.000Z"},
1:
{ id: 12
name: "ali"
price: 300
date: "2018-09-01T09:48:1i.000Z"},
答案 0 :(得分:2)
以下示例说明了如何按日期对数组进行排序
var array=[{'date':'2018-06-05T09:48:18.000Z'},{'date':'2018-06-01T09:48:18.000Z'},{'date':'2018-04-01T09:48:18.000Z'}];
array.sort(function(a,b){
//convert your string into dates
return new Date(a.date) - new Date(b.date);
});
console.log(array)
答案 1 :(得分:1)
通过使用符合ISO 8601的日期,您可以直接将字符串用于与String#localeCompare
进行排序。
var array = [{ id: 23, name: "joe", price: 2300, date: "2018-06-01T09:48:18.000Z" }, { id: 12, name: "ali", price: 300, date: "2018-09-01T09:48:1i.000Z" }];
array.sort(function(a, b) {
return b.date.localeCompare(a.date); // desc
});
console.log(array);