首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何循环遍历树节点中的对象数组

如何循环遍历树节点中的对象数组
EN

Stack Overflow用户
提问于 2019-12-15 11:33:50
回答 1查看 161关注 0票数 0

我想将我的数据转换成特定的树节点格式。

是否有一种方法(类型转换或Jquery)循环遍历每个对象及其子代和孙辈等,并更改格式?

当前数据格式

代码语言:javascript
复制
{
  "content": [
    {
      "dimension": "2019-12-13"
      "subList": [
        {
          "dimension": "2019-12-13",
          "subList": [
            {
              "dimension": "2019-12-13",
              "subList": []
            }
          ]
        }
      ]
    },
    {
      "dimension": "2019-12-13"
      "subList": [
        {
          "dimension": "2019-12-13",
          "subList": [
            {
              "dimension": "2019-12-13",
              "subList": []
            }
          ]
        }
      ]
    }
  ]
}

所以结果应该是这样

代码语言:javascript
复制
{
  "content": [
    {
      "data": {
        "dimension": "2019-12-13"
      },
      "children": [
        {
          "data": {
            "dimension": "2019-12-13"
          },
          "children": [
            {
              "data": {
                "dimension": "2019-12-13"
              },
              "children": []
            }
          ]
        }
      ]
    }
   ]
}
EN

回答 1

Stack Overflow用户

发布于 2019-12-15 12:01:54

考虑到您处理的是类似树的数据结构,您可能需要一个递归函数。

让我们正式确定我们要处理的类型:

代码语言:javascript
复制
type Node1 = { // current node structure
  dimension: string
  subList: Node1[]
}

type Node2 = { // desired node structure
  data: {
    dimension: string
  }
  children: Node2[]
}

递归函数如下所示:

代码语言:javascript
复制
const mapNode = (n: Node1): Node2 => {
  return {
    data: {
      dimension: n.dimension
    },
    children: n.subList.map(mapNode)
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59343485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档