你将如何创建一个包含值的数组,每小时一个,包括AM / PM,从上午12点结束于晚上11点结束于javascript中?
答案 0 :(得分:5)
坦率地说,这是最有效的方式:
var hours = [ '12 AM', '1 AM', '2 AM', '3 AM', '4 AM', '5 AM',
'6 AM', '7 AM', '8 AM', '9 AM', '10 AM', '11 AM',
'12 PM', '1 PM', '2 PM', '3 PM', '4 PM', '5 PM',
'6 PM', '7 PM', '8 PM', '9 PM', '10 PM', '11 PM' ];
答案 1 :(得分:4)
有一百万种方法可以做到这一点。这是一个:
var theHours = [];
for (var i=0; i<= 23; i++) {
theHours[i] = (i == 0) ? "12 AM" : ((i <12) ? i + " AM" : (i-12 || 12) + " PM");
}
返回
[“12 AM”,“1 AM”,“2 AM”,“3 AM”,“4 AM”,“5 AM”,“6 AM”,“7 AM”,“8 AM”,“ 9 AM“,”10 AM“,”11 AM“,”12 PM“,”1 PM“,”2 PM“,”3 PM“,”4 PM“,”5 PM“,”6 PM“,” 7 PM“,”8 PM“,”9 PM“,”10 PM“,”11 PM“]
答案 2 :(得分:0)
这是我以前用过的方法:
var hour,meridien;
cow=['12 am'];
for(i=0;i<23;i++){
if(i>11){hour=i-11;meridien=(hour==12)?'am':'pm';}
else{hour=i+1;meridien=(hour==12)?'pm':'am';}
cow.push(hour+' '+meridien);
}
返回
["12 am", "1 am", "2 am", "3 am", "4 am", "5 am", "6 am", "7 am", "8 am", "9 am", "10 am", "11 am",
"12 pm", "1 pm", "2 pm", "3 pm", "4 pm", "5 pm", "6 pm", "7 pm", "8 pm", "9 pm", "10 pm", "11 pm"]