const obj = {
'a.b.c': 1,
'a.d': 2,
e: 3
}
function transfor (obj) {
let newObj = {}
for (let i in obj) {
const keys = i.split('.')
let key = keys.shift()
let temp = newObj
while (key) {
if (!newObj[key]) {
temp[key] = keys.length >= 1 ? {} : obj[i]
}
temp = temp[key]
console.log(newObj)
key = keys.shift()
}
}
return newObj
}
console.log(transfor(obj))