Javascript 如何将字符串转换为递归对象?

Javascript 如何将字符串转换为递归对象?,javascript,Javascript,我正在将一个点分隔的字符串传递到函数中 console.log( namespace('a.b.c.d.e')) 并期望得到下一个结果 //result => "{"a":{"b":{"c":{"d":{"e":{}}}}}}" 我的尝试(我不知道如何递归地做) 下面的迭代方法如何:- 函数名称空间(输入){ 让结果={}; 设温度=结果; 常量inputArr=i

我正在将一个点分隔的字符串传递到函数中

console.log( namespace('a.b.c.d.e'))
并期望得到下一个结果

//result => "{"a":{"b":{"c":{"d":{"e":{}}}}}}"
我的尝试(我不知道如何递归地做)


下面的迭代方法如何:-

函数名称空间(输入){
让结果={};
设温度=结果;
常量inputArr=input.split(“.”);
inputArr.forEach((ele)=>{
temp[ele]={};
温度=温度[ele];
})
返回结果;
}

log(名称空间('a.b.c.d.e'))
下面的迭代方法如何:-

函数名称空间(输入){
让结果={};
设温度=结果;
常量inputArr=input.split(“.”);
inputArr.forEach((ele)=>{
temp[ele]={};
温度=温度[ele];
})
返回结果;
}
log(名称空间('a.b.c.d.e'))
const input=“a.b.c.d.e”
const output=input.split('.').reverse().reduce((acc,el)=>{
返回{[el]:acc}
},{})
console.log(输出)
const input=“a.b.c.d.e”
const output=input.split('.').reverse().reduce((acc,el)=>{
返回{[el]:acc}
},{})

console.log(output)
我可能会使用一些类似reduceRight的东西从内到外构建对象:
…reduceRight((acc,prop)=>({[prop]:acc}),{})
很好,这正是我试图找到的,添加这个答案我可能会使用一些类似reduceRight的东西从内到外构建对象:
…reduceRight((acc,prop)=>({[prop]:acc}),{})
nice,这正是我试图找到的,添加这个答案
const namespace = (string)=> {
  return string.split('.').reduce((acc,el)=>{
    acc[el] = {}
  },{})
}