如何在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;i 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))
您可以正确地减少它:
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很乐意帮忙:)很好的解决方案,但是用“太容易”来淡化别人的问题感觉有点不舒服…,没有冒犯的意思。(我还在想的时候,你解决了,所以还是投了赞成票:))