如何根据日期对包含键值对的数组进行排序



下面是数组。我要做的就是根据最新日期对数组进行排序。所以基本上如果你在排序后查看代码 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"},
下面的示例

说明如何按日期对数组进行排序

    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)

通过使用符合 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);

最新更新