xdarkV,
Вот вам ваш исправленный вариант:
var len;
var names;
var res;
var result = {};
var keys = Object.keys(obj);
for (var i = 0; i < keys.length; i++) {
var arr = [];
createObject(keys[i]);
}
function createObject(name) {
res = result;
names = name.split('.');
len = names.length;
names.forEach(resultObject);
}
function resultObject(subName, index) {
if (!res[subName]) {
if (index == len - 1) {
res[subName] = obj[keys[i]];
} else {
res[subName] = {};
}
}
res = res[subName];
}
alert(JSON.stringify(result, "", 4));