当前位置: 首页 > 知识库问答 >
问题:

json数组递归循环在javascript[重复]

缪远航
2023-03-14

如何在javascript中递归循环json对象数据键。

请检查以下json对象

{
    "data":[
        {
            "label": "Test-1",
            "data": "Test-1",
            "updated_at": "2020-3-23",
            "created_at": "2020-3-19",
            "expanded": true,
            "children": [
                {
                    "label": "Test-1.1",
                    "data": "Test-1.1",
                    "updated_at": "2020-3-19",
                    "created_at": "2020-3-19",
                    "expanded": true,
                    "children": [
                        {
                            "label": "Test-1.1.1",
                            "updated_at": "2020-3-19",
                            "created_at": "2020-3-19",
                            "expanded": true,
                            "children": [
                                {
                                    "label": "Test-1.1.1.1",
                                    "data": "Test-1.1.1.1",
                                    "updated_at": "2020-3-19",
                                    "created_at": "2020-3-19",
                                    "expanded": true
                                }
                            ]
                        },
                        {
                            "label": "Test-1.1.2",
                            "data": "Test-1.1.2",
                            "updated_at": "2020-3-19",
                            "created_at": "2020-3-19",
                            "expanded": true
                        },
                        {
                            "label": "Test-1.1.3",
                            "data": "Test-1.1.3",
                            "updated_at": "2020-3-19",
                            "created_at": "2020-3-19",
                            "expanded": true
                        }
                    ]
                }
            ]
        },
        {
            "label": "Test-2",
            "data": "Test-2",
            "updated_at": "2020-3-19",
            "created_at": "2020-3-19",
            "expanded": true
        }
    ]
}

共有1个答案

拓拔烨赫
2023-03-14

这里是打印标签的示例recur函数。

const items = {
  data: [
    {
      label: "Test-1",
      data: "Test-1",
      updated_at: "2020-3-23",
      created_at: "2020-3-19",
      expanded: true,
      children: [
        {
          label: "Test-1.1",
          data: "Test-1.1",
          updated_at: "2020-3-19",
          created_at: "2020-3-19",
          expanded: true,
          children: [
            {
              label: "Test-1.1.1",
              updated_at: "2020-3-19",
              created_at: "2020-3-19",
              expanded: true,
              children: [
                {
                  label: "Test-1.1.1.1",
                  data: "Test-1.1.1.1",
                  updated_at: "2020-3-19",
                  created_at: "2020-3-19",
                  expanded: true
                }
              ]
            },
            {
              label: "Test-1.1.2",
              data: "Test-1.1.2",
              updated_at: "2020-3-19",
              created_at: "2020-3-19",
              expanded: true
            },
            {
              label: "Test-1.1.3",
              data: "Test-1.1.3",
              updated_at: "2020-3-19",
              created_at: "2020-3-19",
              expanded: true
            }
          ]
        }
      ]
    },
    {
      label: "Test-2",
      data: "Test-2",
      updated_at: "2020-3-19",
      created_at: "2020-3-19",
      expanded: true
    }
  ]
};

const recur = arr => {
  arr.forEach(item => {
    console.log(item.label);
    if (item.children) {
      recur(item.children);
    }
  });
};

recur(items.data);
 类似资料:
  • 这个类被设计来迭代WordPress菜单结构(嵌套数组/对象)以产生一个完成的菜单。虽然我的数据来源是WordPress,但我觉得这个问题属于SO而不是WP. SO,因为这个问题更植根于PHP(适用于任何试图递归的人)。 出于某种原因,我在层次结构中看到了重复的结果。另外,我注意到某些HTML元素没有正确关闭。看起来我已经正确地嵌套了所有内容,但结果就是您在这里看到的。 为了帮助调试,我添加了一些

  • 如果以前有人问过这个问题,我很抱歉,但我找不到答案。如何循环使用嵌套数组的数组,并在控制台中打印项目出现的实例数? 因此应该打印出名称“bob”的数字2,因为“bob”在数组中出现两次。 这是我的阵列和我目前拥有的:

  • 我正在练习并试图写一个递归数组扁平化函数。代码在这里: 问题是,如果我将一个数组或嵌套数组传递给它,就会出现“超出最大调用堆栈大小”错误。我做错了什么?

  • if语句 (实际上是if表达式) OCaml有两种if语句: if boolean-condition then expression if boolean-condition then expression else other-expression 不同于传统的语言,if语句是表达式。它们更类似于C类语言中的三元操作符?: 而不是你所熟悉的if语句。 下面是if语句的简单例子: # le

  • 所以我想看看有没有办法循环这些数组,看看哪一个与main函数中提供的{6,1,1,6,3,1,4,7,7,1}的数组匹配。

  • 问题内容: 是否每个递归函数都有一个等效的for循环?(两者都达到相同的结果)。 我有这个递归函数: 假设单词是Set [],并且单词[i] =单词长度为i的集合。 我想做的是:使用一个单词(例如,“ stackoverflow”,没有空格)启动递归,我试图查找该单词是否可以切成子单词(“ stack”,“ over”,“ flow”) ..子词的最小长度为3,并且假设长度为i的子词在Set wo