var test = "a.b.c.d"如何递归成a:{ b:{
c:{
d:"test"
}
}
}
1 回答

江户川乱折腾
TA贡献1851条经验 获得超5个赞
循环算法:
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/150
提交
取消