Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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
如何对嵌套的ObjJavaScript进行排序_Javascript_Object - Fatal编程技术网

如何对嵌套的ObjJavaScript进行排序

如何对嵌套的ObjJavaScript进行排序,javascript,object,Javascript,Object,我试图按日期对对象进行排序。我必须使用es5,因为它在angularjs中 这是我尝试过的,但没有运气 让objtemp={ 1: { 第一:0,, 创建:“2020-11-03T14:16:51.319Z” }, 2: { 第一:2,, 创建:“2020-11-03T14:01:32.084Z” }, 3: { 第一:2,, 创建:“2020-11-03T14:00:47.000Z” } }; 设temp=Object.entries(objtemp); 临时排序(函数([a,aval],[

我试图按日期对对象进行排序。我必须使用es5,因为它在angularjs中 这是我尝试过的,但没有运气

让objtemp={
1: {
第一:0,,
创建:“2020-11-03T14:16:51.319Z”
},
2: {
第一:2,,
创建:“2020-11-03T14:01:32.084Z”
},
3: {
第一:2,,
创建:“2020-11-03T14:00:47.000Z”
}
};
设temp=Object.entries(objtemp);
临时排序(函数([a,aval],[b,bval]){
返回新日期(bval.created.getTime()-新日期(aval.created.getTime();
});
控制台日志(temp)
问题是排序检查与我需要的相反。

感谢@epascarello

阅读本博客“我得到的结果”,这肯定不是你得到的结果,因为你已经记录了
temp
,这是一个数组,但你显示了一个非数组对象。为什么输入是一个带有“数字”键的对象而不是实际数组?你的排序检查与你需要的相反<代码>返回新日期(aval.created).getTime()-新日期(bval.created.getTime()旁注:编写
新日期(x)的更简洁的方法是
Date.parse(x)
(其中
x
是一个字符串)。他们做同样的事情,后者只是少做些工作。
temp.sort(function([a, aval], [b, bval]) {
  return new Date(aval.created).getTime() - new Date(bval.created).getTime();
});