JSFiddle - React, Tailwind, and code Playground

by stchangg

JavaScript

var a = [1,2,3];
var b = ["one", "two", "three"];

function perm() {
    var options = [];
    for (var i = 0; i < a.length; i++) {
        for (var j = 0; j < b.length; j++) {
            var option = [];
            option.push(a[i]);
            option.push(b[j]);
            options.push(option);
        }
    }
    console.log(options);
    return options;
}

var c = {
    a: [1,2,3],
    b: ["one", "two", "three"]
};

var combos = [];
var paramKeys = [];

function addParam(currList, paramIndex) {
    if (paramIndex === paramKeys.length - 1) {
        combos.push(currList);
        return;
    }
    var options = paramKeys[paramIndex];
    for (var i = 0; i < options.length; i++) {
        currList.push(options[i]);
        addParam(currList.slice(), paramIndex++);
    }
}

function permutations() {
    for (var key in c) {
        paramKeys.push(key);
    }
    addParam([], 0);
    console.log(combos);
}
    
permutations();