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]));