从输入的对象数组中创建相当嵌套的层次结构

时间:2017-08-22 21:23:38

标签: javascript algorithm grouping

我试图从定义的输入数据中构建嵌套层次结构,并且我遇到了深层次层次结构的一些问题。因此,作为输入,有一些对象,如下所示:

[
    {
        id: 1,
        parentId: 1,
    },
    {
        id: 2,
        parentId: 1,
    },
    {
        id: 3,
        parentId: 2,
    },
    {
        id: 4,
        parentId: 3,
    },
    ...
]

每个元素都有自己的id和parentId。 作为结果,我希望得到按父ID分组的结构,如下所示:

{
    id: 1,
    sub: [
        {
          id: 2,
          parentId: 1,
          sub: [
              {
                  id: 3,
                  parenId: 2,
              },
              ....
          ],
        },
    ],
}

所以,问题是如何构建递归遍历此输入数据的算法,并构建这样的结构化结果?当我知道层次结构的级别时,我可以构建具有已定义级别的嵌套循环的算法,但问题是未知数量更深。

0 个答案:

没有答案