数组[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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript