我有以下对象:
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