How would you create an array that contains values, one for each hour, including AM/PM, starting at 12 AM ending on 11 PM in javascript?
create an array that mimics a clock (javascript)
687 Views Asked by Derek Adair At
3
There are 3 best solutions below
5
On
Frankly, this is the most efficient way:
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' ];
2
On
This is a method I used before:
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);
}
returns
["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"]
there are a million ways to do this. here's one:
returns
["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"]