如何在javascript中将列表数组化为树?

如何在javascript中将列表数组化为树?,javascript,Javascript,我有一份清单: var list = ['parent-element', 'child-of-previus-element-1', 'child-of-previus-element-2']; 其中,数组中的每个下一个元素都是上一个元素的子元素 我想将此列表转换为树状结构,例如: { "parent-element": { "childrens": [{ "child-of-previus-element-1": {

我有一份清单:

var list = ['parent-element', 'child-of-previus-element-1', 'child-of-previus-element-2'];
其中,数组中的每个下一个元素都是上一个元素的子元素

我想将此列表转换为树状结构,例如:

{
    "parent-element": {
        "childrens": [{
            "child-of-previus-element-1": {
                "childrens": [{
                    "child-of-previus-element-2": {
                        "childrens": []
                    }
                }]
            }
        }]
    }
}
我试过:

var list=['parent-element'、'child-of-previus-element-1'、'child-of-previus-element-2';
var-tree={};
对于(变量i=0;ilog(JSON.stringify(tree))您可以适当减少它:

var list=['parent-element'、'child-of-previus-element-1'、'child-of-previus-element-2';
var tree=list.reduceRight((子项,键)=>({[key]:{children:[child]}),null);

console.log(JSON.stringify(tree))
您可以正确地减少它:

var list=['parent-element'、'child-of-previus-element-1'、'child-of-previus-element-2';
var tree=list.reduceRight((子项,键)=>({[key]:{children:[child]}),null);

console.log(JSON.stringify(tree))
认为“树状结构”无效。抱歉,修复了…认为“树状结构”无效。抱歉,修复了…@ar099968很高兴提供帮助:)这是一个很好的解决方案,但淡化其他人的“太简单”问题感觉有点不舒服…,无意冒犯。(我还在想的时候你就解决了:)@ar099968很乐意帮忙:)很好的解决方案,但是用“太容易”来淡化别人的问题感觉有点不舒服…,没有冒犯的意思。(我还在想的时候,你解决了,所以还是投了赞成票:))