Javascript 将嵌套关系合并到对象
我有一个对象数组,其中也包含如下数组:Javascript 将嵌套关系合并到对象,javascript,arrays,algorithm,object,recursion,Javascript,Arrays,Algorithm,Object,Recursion,我有一个对象数组,其中也包含如下数组: let array = [{"a": ["b", "c"]} , {"b":[ "d" ]}, {"e":[ "f" ]}] 我需要将其显示为树状视图,并获得如下输出: [ { id : "a", children: [ {
let array = [{"a": ["b", "c"]} , {"b":[ "d" ]}, {"e":[ "f" ]}]
我需要将其显示为树状视图,并获得如下输出:
[
{
id : "a",
children: [
{
id: "b",
children: [{id: "d", children: [] }]
},
{
id: "c",
children: []
}
]
},
{
id: "e",
Children: [
{
id: "f",
children: []
}
]
}
]
我试图通过创建一个包含所有父项[a,b,e]的数组,并对整个数组进行深度优先搜索来实现这一点,但我无法获得正确的输出
有人能帮忙吗?提前感谢。尝试这种递归方法:
var数组=[{“a”:[“b”,“c”]},{“b”:[“d”]},{“e”:[“f”]}]
让对象={}
map(itm=>Object.keys(itm).map(name=>Object[name]=itm[name]))
常量树视图=(键,值)=>{
删除对象[键]
返回{
id:钥匙,
儿童:getChildrens(val)
}
}
const getChildrens=(arr)=>{
让孩子们=[]
返回arr.map(itm=>{
if(对象[itm]){
返回树视图(itm,对象[itm])
}
返回{id:itm,子项:[]}
})
}
让res=Object.keys(Object.map)(val,idx)=>{
if(对象[val])
返回树视图(val,对象[val])
}).filter(e=>e)
console.log(res)
尝试这种递归方法:
var数组=[{“a”:[“b”,“c”]},{“b”:[“d”]},{“e”:[“f”]}]
让对象={}
map(itm=>Object.keys(itm).map(name=>Object[name]=itm[name]))
常量树视图=(键,值)=>{
删除对象[键]
返回{
id:钥匙,
儿童:getChildrens(val)
}
}
const getChildrens=(arr)=>{
让孩子们=[]
返回arr.map(itm=>{
if(对象[itm]){
返回树视图(itm,对象[itm])
}
返回{id:itm,子项:[]}
})
}
让res=Object.keys(Object.map)(val,idx)=>{
if(对象[val])
返回树视图(val,对象[val])
}).filter(e=>e)
console.log(res)
javascript正在寻找变量,在双引号中放一个…f:var数组=[{“a”:[“b”,“c”]},{“b”:[“d”]},{“e”:[“f”]}]
-对于初学者来说……搜索“javascript递归(或递归)树”javascript正在寻找变量,在双引号中放一个…f:var数组=[{“a”:[“b”,“c”},{“b”:“d”]},{“e”:[“f”]}]
-对于初学者…搜索“javascript递归(或递归)树”