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

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

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

斯蒂芬大帝 2019-01-05 18:05:16
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);


查看完整回答
反对 回复 2019-01-05
  • 1 回答
  • 0 关注
  • 452 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号