当我在console.log details
变量时,我得到以下结果:
details:{
1:{
2015-2-10 : 0
2015-2-11 : 0
2015-2-12 : 0
2015-2-13 : 0
2015-2-14 : 0
2015-2-15 : 0
2015-2-16 : 0
2015-2-17 : 0
2015-2-18 : 0
2015-2-19 : 0
2015-2-2 : 0
2015-2-20 : 0
2015-2-21 : 0
2015-2-22 : 0
2015-2-23 : 0
2015-2-24 : 0
2015-2-25 : 0
2015-2-26 : 0
2015-2-27 : 1
2015-2-28 : 1
2015-2-3 : 0
2015-2-4 : 0
2015-2-5 : 0
2015-2-6 : 0
2015-2-7 : 0
2015-2-8 : 0
2015-2-9 : 0
2015-3-1 : 0
}
}
我想要的是按升序显示日期。因此输出将变为:
details:{
1:{
2015-2-2 : 0
2015-2-3 : 0
2015-2-4 : 0
2015-2-5 : 0
2015-2-6 : 0
2015-2-7 : 0
2015-2-8 : 0
2015-2-9 : 0
2015-2-10 : 0
2015-2-11 : 0
2015-2-12 : 0
2015-2-13 : 0
2015-2-14 : 0
2015-2-15 : 0
2015-2-16 : 0
2015-2-17 : 0
2015-2-18 : 0
2015-2-19 : 0
2015-2-20 : 0
2015-2-21 : 0
2015-2-22 : 0
2015-2-23 : 0
2015-2-24 : 0
2015-2-25 : 0
2015-2-26 : 0
2015-2-27 : 1
2015-2-28 : 1
2015-3-1 : 0
}
}
我的问题:是否可以这样做?
我的plunker是http://plnkr.co/edit/dQO3D1Omc0o7ZH9TfeUZ?p=preview 提前谢谢!
答案 0 :(得分:1)
我的问题:是否可以这样做?
没有。您引用的结构是一个对象,其属性名称为"2015-02-28"
。 JavaScript 中的对象根本没有对其属性的订单。要获得订单,您必须(现在)拥有一个数组。 ES6将引入Map
个对象,这些对象是按键的插入顺序排序的映射。但ES5没有那些。
这并不意味着您无法以任何您想要的顺序访问这些属性。您可以通过Object.keys
获取一系列属性名称,然后您可以根据需要对数组进行排序。