且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在Javascript中将点符号字符串转换为对象

更新时间:2022-04-10 04:38:53

在将键迭代到嵌套属性之后,您可以拆分给定的键字符串并保存最后一个键以分配值.

You could split the given key strings and save the last key for the assignment of the value after iterating the keys to the nested property.

var data = [{ key: 'app.team.instance', value: 'some value1' }, { key: 'app.team.server.obj', value: 'some value' }, { key: 'app.team.app.some', value: 'some value' }, { key: 'app.service.awesome.more', value: 'more values' }],
    result = data.reduce(function (r, o) {
        var path = o.key.split('.'),
            last = path.pop();

        path.reduce(function (p, k) {
            return p[k] = p[k] || {};
        }, r)[last] = o.value;
        return r;
    }, {});

console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }