У меня есть объект, называемый входным объектом, который выглядит так:
[
{
"contact": {
"information": { "name": "abc", "address": "asdfa" },
"type": "phone",
"value": "123212123"
}
}
]
, но ожидаемый выходной объект выглядит так:
[
{
"name": "contact",
"children": [
{
"name": "infmormation",
"children": [
{ "name": "address", "children": [{ "name": "absdsdc" }] },
{ "name": "name", "children": [{ "name": "adasdf" }] }
]
},
{ "name": "value", "children": [{ "name": "123212123" }] },
{ "name": "type", "children": [{ "name": "phone" }] }
]
}
]
, что означает, что ожидаемый объект основан на этом интерфейсе:
interface TreeNode {
name: string;
children?: TreeNode[];
}
Я думаю, что решение может быть рекурсивным методом. Но я не знаю, как его создать.
Есть идеи?