【发布时间】:2021-06-25 12:33:13
【问题描述】:
我想在 Angular 的树视图中显示数据,并且需要将点标记元素数组转换为具有子对象的集合。
This 是我正在使用的数组。注意每个元素中的 key 字段。
所以我需要的结构是例如(对于数组中的前 4 个元素):
const data = [
{
key: 'bs',
children: [
{
key: 'ass',
children: [
{
key: 'fixAss',
decimals: '0',
unitRef: 'unit_euro',
contextRef: 'period_2019',
value: 15542000,
children: [
{
key: 'intan',
decimals: '0',
unitRef: 'unit_euro',
contextRef: 'period_2019',
value: 8536000,
children: [
{
key: 'concessionBrands',
decimals: '0',
unitRef: 'unit_euro',
contextRef: 'period_2019',
value: 8536000,
children: [] // If there are no children in the element this can be empty or left out
}
]
},
{
key: 'tan',
decimals: '0',
unitRef: 'unit_euro',
contextRef: 'period_2019',
value: 6890000,
children: []
}
]
}
]
}
]
}
];
这意味着元素通过 key 属性组合在一起,该属性包含该级别的符号(即“bs”、“ass”、“fixAss”……),然后是下一级。一个元素可以有自己的值(“decimals”、“unitRef”、...),并且还可能有以相同方式构成的子元素。可以拥有的关卡数量没有限制。
我的 package.json 中有 lodash 和 dot object 库。非常感谢任何帮助。
【问题讨论】:
-
我不明白你想达到什么目的,你能举个例子吗?
-
我从我们的后端得到这个 pastebin.com/A5QyBkLm 数组。我想将该数据转换为您可以在帖子中的代码示例中看到的形式。
标签: javascript angular typescript lodash