combos
by monteslu
JavaScript
var getCombinations = function(allOptionsArray, combination) {
if(allOptionsArray.length > 0) {
for(var i=0; i < allOptionsArray[0].length; i++) {
var tmp = allOptionsArray.slice(0);
combination.codes[combination.counter] = allOptionsArray[0][i];
tmp.shift();
combination.counter++;
getCombinations(tmp, combination);
}
} else {
var combi = combination.codes.slice(0);
combination.result.push(combi);
}
combination.counter--;
};
//use it:
var a = [1, "02", 3, "04"];
var b = ["white", "green", "blue", "red"];
var c = ["one", "two", "three", "four"];
//var d = ["a", "b", "c", "d"];
//var e = ["D", "D", "D", "D"];
var allOptionsArray = [a, b, c];//, d,e];
var combination = {codes : [], result : [], counter : 0};
getCombinations(allOptionsArray, combination);
for(var i=0; i < combination.result.length; i++) {
console.log(combination.result[i]);
}
console.log(combination);