假设我有下面的对象数组,它们具有父子关系:
[
{ A1: [ "B1" ] },
{ B1: [ "C11", "C12", "C13" ] },
{ C11: [ "D100", "D111", "D112", "D113", "D131" ] },
{ D100: [ "E1000", "E1100" ] }
]
如何将上面的数组转换为嵌套对象来表示关系?因此目标对象将是:
{
A1:
{
B1:
{
C11:
{
D1000: ["E1000", "E1100"],
D111: [],
D112: [],
D113: [],
D131: []
},
C12: [],
C13: []
}
}
}
我用reduce等方法尝试了几种递归方法,但仍然很难正确转换所有级别。
2条答案
按热度按时间ovfsdjhp1#
假设一个对象有相同的模式,你可以用一个对象引用嵌套对象。
如果你想得到不同的值,比如数组而不是对象,你可以在inout数据中指定。
vlju58qv2#
你可以使用递归来实现你想要的结果。也许我的例子有点笨拙,但它确实做到了: