遍历对象数组

时间:2018-11-02 15:33:07

标签: javascript arrays json object

我有这种形式的数据

{
  node: { 
    id: '2',
    fields: { 
      slug: '/animals/bears/types/brown-bear/',
      topLevelDir: 'Animals',
      subDir: 'Bears',
      subSubDir: 'Types'
    },
    frontmatter: {
      title: 'Brown Bear',
      description: 'blahblah'
    }
  }
}

基本上我想要做的是遍历此数据并创建一个动态边栏。

我希望它具有所有顶级目录都是导航的主要标题。然后单击,我希望嵌套在其中。因此,如果顶层目录具有子目录,则应创建该子目录,并将属于该子目录的所有markdown推入其中。

如果它也有一个子目录,则创建该子子目录,并将其中包含的任何markdown推入该标题中,但是我不确定该怎么做。

我是否映射数据并将所有顶级目录推送到数组中。然后遍历并将所有子目录推送到顶层目录中的数组中?我不确定逻辑会如何。

1 个答案:

答案 0 :(得分:1)

您的数据结构很奇怪,似乎您只允许每个级别的孩子使用。

但是关于处理树状结构的数据,您应该使用递归函数。

我的问题是,这里没有树形结构:每个父级最多有一个子节点,您应该更改数据结构以使每个节点都有一个子级数组