const input = {
'a.b.c.d.e':'abcde',
'a.d.f':'adf',
'f.o.l':'fol',
'f.g.h.i':'fghi'
}
let obj = {
a:{
b:{
c:{
d:{
count:90
}
}
}
}
}
let str = 'a.b.c.d.count'
function getValue(str){
let keyArr = str.split('.');
//['a','b','c']
return keyArr.reduce((currentObj,currentKey)=>{
return currentObj=currentObj[currentKey]
},obj)
}
console.log(getValue(str))
var returObj = {}
var input = {
'a.b.c.d.e':'abcde',
'a.d.f':'adf',
'f.o.l':'fol',
'f.g.h.i':'fghi'
}
for(var key in input){
generatorObj(key,input[key])
}
function generatorObj(key,value){
var keyArr = key.split('.');
keyArr.reduce((currentObj,currentKey,index)=>{
if(index < keyArr.length-1){
return currentObj=currentObj[currentKey]?currentObj[currentKey]:(currentObj[currentKey] = {})
}else{
return currentObj[currentKey] = value
}
},returObj)
return returObj
}
console.log(returObj)