Get Square Binary Combos by Size and Dimensions
by Josh Pullen
JavaScript
String.prototype.chunk = function(size) {
return [].concat.apply([],
this.split('').map(function(x,i){ return i%size ? [] : this.slice(i,i+size) }, this)
)
}
function dec2Bin(n, digits) {
var result = Number(n).toString(2);
while (result.length < digits) {
result = "0" + result;
}
return result;
}
function getAllCombos(size, dimensions) {
var result = [];
var max = Math.pow(2, Math.pow(size, dimensions));
for(i = 0; i < max; i++) {
result.push(dec2Bin(i, Math.pow(size, dimensions)).chunk(size));
}
return result;
}
console.log(getAllCombos(2, 2));