Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何按键日期对对象进行排序?_Javascript - Fatal编程技术网

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

Javascript 如何按键日期对对象进行排序?,javascript,Javascript,我的目标如下: 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": [] } 如何按键/日期对该对象进行排序 我尝试迭代所有元素并将其转换为新日期(元素),然后与上一个值进行比较。您可以使用以下方法: var keys= Object.keys(obj).sort

我的目标如下:

   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": []
}
如何按键/日期对该对象进行排序

我尝试迭代所有元素并将其转换为新日期(元素),然后与上一个值进行比较。

您可以使用以下方法:

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]
});
var-keys=Object.keys(obj).sort(函数a,b){
//可能是您应用新日期来强制转换日期()
//您还可以使用>来订购描述
//您可以创建一个函数来订购ASC或DESC

返回键的顺序在javascript中不是固定的。您可以提取键,对键进行排序,然后为每个键运行一个函数

var objKeys = Object.keys(obj);
objKeys.sort();
objKeys.forEach( (value) => {
    // do something with obj[value]
});

JavaScript中不保证对象中键的顺序。您尝试过吗?当您知道属性名称时,这会起作用,我的情况不同。您必须将此对象拆分为已排序的对象数组才能正常工作。然后才能工作