JSFiddle - React, Tailwind, and code Playground

by Dogbert

JavaScript

var keys1 = ["foo", "moreFoo"],
    value1 = "bar",
    keys2 = ["foo", "ultraFoo"],
    value2 = "bigBar";

function buildObject(keys, values) {
    var ret = {};
    for (var i = 0; i < keys.length; i++) {
        var key = keys[i],
            value = values[i],
            curr = ret;
        for (var j = 0; j < key.length - 1; j++) {
            var k = key[j];
            if (typeof curr[k] === 'undefined') {
                curr = curr[k] = {};
            } else {
                curr = curr[k];
            }
        }
        curr[key[key.length - 1]] = value;
    }
    return ret;
}

console.log(buildObject([keys1, keys2], [value1, value2]));