Creating an array with quarter hour times
var quarterHours = ["00", "15", "30", "45"];
var times = [];
for(var i = 0; i &lt; 24; i++){
  for(var j = 0; j &lt; 4; j++){
    times.push(i + ":" + quarterHours[j]);
  }
}


That's the really quick way without thinking. There might be better ways, but this is what I come up with in 2 minutes.

After testing, you'll find out that it doesn't have a 0 prefix for hours 1 through 9. They show up as "9:45". You could either add a check for that, like so:

var quarterHours = ["00", "15", "30", "45"];
var times = [];
for(var i = 0; i &lt; 24; i++){
  for(var j = 0; j &lt; 4; j++){
    if(i &lt; 10){
      times.push("0" + i + ":" + quarterHours[j]);
    } else {
      times.push(i + ":" + quarterHours[j]);
    }
  }
}


Some more minor cleanup...

var quarterHours = ["00", "15", "30", "45"];
var times = [];
for(var i = 0; i &lt; 24; i++){
  for(var j = 0; j &lt; 4; j++){
    var time = i + ":" + quarterHours[j];
    if(i &lt; 10){
      time = "0" + time;
    }
    times.push(time);
  }
}


Or declare another array with "00", "01", "02"... "23".

Basically what you end up doing is creating every combination of hours and 15 minutes to recreate that big array of yours.