为了账号安全,请及时绑定邮箱和手机立即绑定

数组[a,b,c,d]如何递归成a:{b:{c:{d:"test"}}}

数组[a,b,c,d]如何递归成a:{b:{c:{d:"test"}}}

叮当猫咪 2019-05-10 11:32:29
vartest="a.b.c.d"如何递归成a:{b:{c:{d:"test"}}}
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

循环算法:
vartest="a.b.c.d";
varret="test";
vararr=test.split(".");
do{
varkey=arr.pop();
varobj={};
obj[key]=ret;
ret=obj;
}while(arr.length);
console.log(ret);
递归算法:
vartest="a.b.c.d";
vararr=test.split(".");
vari=arr.length;
varret=(functionmerge(val){
if(i--){
varobj={};
obj[arr[i]]=val;
val=obj;
returnmerge(val);
}elsereturnval;
})("test");
console.log(ret);
                            
查看完整回答
反对 回复 2019-05-10
?
撒科打诨

TA贡献1934条经验 获得超2个赞

vartest="a.b.c.d"
constrecur=(objkey,test)=>(f=arr=>arr.length?{[arr.shift()]:f(arr)}:test)(objkey.split('.'))
console.log(recur(test,'test'))
                            
查看完整回答
反对 回复 2019-05-10
  • 2 回答
  • 0 关注
  • 607 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信