Is there a "code less" way to construct this JS loop?
I would do it like this. Note how the zero-padding is encapsulated in a function and how the double loops are turned into a single loop by using modulo and integer division. Also, the vars are pre-declared as is considered good style in JavaScript.

function zeroPad(number) {
    if (number &lt;= 9) {
        return "0" + number;
    } else {
        return number;
    }
}

var i, hour, minute,
    arrHours = [];
for (i = 0; i &lt; 60 * 24; i += 15) {
    hour = Math.floor(i / 60);
    minute = i % 60;
    arrHours.push(zeroPad(hour) + ":" + zeroPad(minute));
}