Как преобразовать объект в другой ожидаемый объект динамически - PullRequest
0 голосов
/ 05 августа 2020

У меня есть объект, называемый входным объектом, который выглядит так:

[
  {
    "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[];
}

Я думаю, что решение может быть рекурсивным методом. Но я не знаю, как его создать.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...