如何按密钥日期对对象进行排序



我有以下对象:

   var obj = {
  "2019-01-28 00:00:00.000": [],
  "2019-01-29 00:00:00.000": [],
  "2019-01-30 00:00:00.000": [],
  "2019-02-02 00:00:00.000": []
}

如何按键/日期对此对象进行排序?

我尝试了所有迭代元素并转换为 new Date(element),然后与prev值进行比较。

密钥顺序未固定在JavaScript中。您可以提取键,对键进行排序,然后为每个键

运行一个函数
var objKeys = Object.keys(obj);
objKeys.sort();
objKeys.forEach( (value) => {
    // do something with obj[value]
});

您可以使用以下方式:

var keys= Object.keys(obj).sort(function(a,b){
    // Probably you cast the Date applying a new Date()
    // Also you can use > to order DESC
    // You can create a function to order ASC or DESC
    return a<b;
});
// Now you could iterate your object ordered
keys.foreach(function(k) {
    // This your fist element ordered obj[k]
});

https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/objects/objects/keys

https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/array/sort/sort/sort

最新更新