首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用javascript将父子数组转换为json树结构

在JavaScript中,可以使用递归的方式将父子数组转换为JSON树结构。

以下是一个示例代码:

代码语言:txt
复制
function arrayToTree(arr, parentId) {
  var tree = [];
  for (var i = 0; i < arr.length; i++) {
    if (arr[i].parent_id === parentId) {
      var children = arrayToTree(arr, arr[i].id);
      if (children.length > 0) {
        arr[i].children = children;
      }
      tree.push(arr[i]);
    }
  }
  return tree;
}

var arr = [
  { id: 1, name: "Parent 1", parent_id: 0 },
  { id: 2, name: "Child 1-1", parent_id: 1 },
  { id: 3, name: "Child 1-2", parent_id: 1 },
  { id: 4, name: "Parent 2", parent_id: 0 },
  { id: 5, name: "Child 2-1", parent_id: 4 },
];

var jsonTree = arrayToTree(arr, 0);
console.log(JSON.stringify(jsonTree));

上述代码使用了递归的方式来构建树结构。首先,定义了一个arrayToTree函数,接收一个父子数组arr和当前父节点的parentId作为参数。

然后,遍历数组arr,通过比较当前项的parent_idparentId的关系,确定当前项是否是当前父节点的子节点。如果是,就递归地调用arrayToTree函数来获取当前子节点的子树,然后将子树赋值给当前项的children属性。

最后,将构建好的树结构返回。

通过调用arrayToTree函数,并传入父子数组和根节点的parentId(在这个例子中是0),即可得到一个包含完整树结构的JSON对象。

请注意,以上代码只是一个示例,实际应用中可能需要根据数据结构的不同做适当的调整。

推荐腾讯云的相关产品:无

希望这个答案对你有帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券