AnthonyFink,
<script>
function fn(e) {
x:
for (var g = [], b = e.length, h = Math.pow(b, b - 2);; h++) {
var d = h.toString(b),
c = d.length;
if (c > b) break;
c < b && (d = 0 + d);
var f = "";
for (c = 0; c < b; c++) {
var a = a = parseInt(d[c], b);
f += e[a];
if(f.length == 2) {
if(+f > 23) continue x;
f += ":"
}
};
e.every(function(b) {
return 0 <= f.indexOf(b)
}) && g.push(f)
}
return g
};
document.write(JSON.stringify(fn(['1','2','3','4'])));</script>