猿问
数组[a,b,c,d]如何递归成a:{b:{c:{d:"test"}}}
var test = "a.b.c.d"
如何递归成
a:{ b:{ c:{ d:"test" } } }
斯蒂芬大帝
浏览 453
回答 1
1回答
江户川乱折腾
循环算法:var test = "a.b.c.d";var ret = "test";var arr = test.split(".");do { var key = arr.pop(); var obj = {}; obj[key] = ret; ret = obj; } while(arr.length);console.log(ret);递归算法:var test = "a.b.c.d";var arr = test.split(".");var i = arr.length;var ret = (function merge(val){ if (i--) { var obj = {}; obj[arr[i]] = val; val = obj; return merge(val); } else return val; })("test");console.log(ret);
0
0
0
随时随地看视频
慕课网APP
相关分类
JavaScript
我要回答