2012-04-23 95 views
0

我使用此代码,现在具有零的数字1-9是31之后的最后一个。例如“28,29,30,31,01,02”。我想要的是以正常的方式01,02,03 ... 09,10,11,我该怎么做?使用javascript排序选择选项

var everyDay = {}; 
for (im;im<=31;im++){ 
    t = (im < 10 ? '0' : '') + im 
    everyDay[t] = (im < 10 ? '0' : '') + im; 

} 

回答

1

好像对象属性是在词典编纂顺序(aaac...az)。你尝试过一个数组吗?

var everyDay = []; 
for (var im = 1; im <= 31; im++){ 
    everyDay.push((im < 10 ? '0' : '') + im); 
} 

然而,这很难说,因为你不告诉你如何使用everyDay

+1

没有说明对象属性的排列方式。不要构建依赖于特定顺序的程序。 http://stackoverflow.com/questions/280713/elements-order-in-a-for-in-loop – Tomalak 2012-04-23 07:40:12

0

everyDay是一个散列,它不是按键排序的。您将需要将值放入数组中。试试这个:

var days = [] 
for (im;im<=31;im++){ 
    t = (im < 10 ? '0' : '') + im 
    days.push(); 
}