создать массив, который имитирует часы (JavaScript) - PullRequest
0 голосов
/ 04 февраля 2010

Как бы вы создали массив, содержащий значения, по одному на каждый час, включая AM / PM, начиная с 12:00 и заканчивая 11:00 в JavaScript?

Ответы [ 3 ]

5 голосов
/ 04 февраля 2010

Честно говоря, это самый эффективный способ:

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'  ];
4 голосов
/ 04 февраля 2010

Есть миллион способов сделать это. вот один:

var theHours = [];
for (var i=0; i<= 23; i++) {
    theHours[i] = (i == 0) ? "12 AM" : ((i <12) ? i + " AM" : (i-12 || 12) + " PM");
}

возвращает

[«12:00», «1 AM», «2 AM», «3 AM», «4 AM», «5 AM», «6 AM», «7 AM», «8 AM», « 9:00, "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", " 7 вечера "," 8 вечера "," 9 вечера "," 10 вечера "," 11 вечера "]

0 голосов
/ 04 февраля 2010

Это метод, который я использовал раньше:

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"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...