从层次结构javascript创建数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从层次结构javascript创建数组相关的知识,希望对你有一定的参考价值。
如果有人能帮助我解决我正在努力的问题。
我有这个层次结构:
A
-Aname
-B
--Bname
--B1
---B1name
---B11
----B11name
--B2
---B2name
---B21
----B21name
-C
--Cname
--C1
---C1name
这意味着A是Aname和B的父级,B是Name的父级,B1,B1或B1名称和B11等。如何使用此层次结构的javascript递归构建嵌套数组,如下所示:
[A[Aname, B[Bname, B1[B1name B11[B11name]], B2[B2name, B21[B21name]]], C[Cname, C1[C1name]]]]
答案
正如我所理解的那样,你的意见就像
var obj = {
A: {
Aname: {},
B:{
Bname: {},
B1:{}
}
}
};
和输出就像
[["Aname",["Bname","B1"]]]
所以这是你的解决方案:
function rfun(obj){
return Object.keys(obj).map(item=>{
return Object.keys(obj[item]).length ? rfun(obj[item]) : item;
})
}
以上是关于从层次结构javascript创建数组的主要内容,如果未能解决你的问题,请参考以下文章