猿问

如何对树状结构的数据进行操作

现有数据如下


var tree = {

  id: 0,

  pid: -1,

  name: '0',

  children: [

    { id: 1, pid: 0, name: '1' },

    { id: 2, pid: 0, name: '2' },

    {

      id: 3, pid: 0, name: '3', children: [

        { id: 4, pid: 3, name: '4', children: [...] },

        { id: 5, pid: 3, name: '5', children: [...] }

      ]

    }

    .

    .

    .

  ]

}

id是唯一标识符,生成时可以用new Date().getTime()替代
需求:1.任意一个节点都可以插入新的子节点;2.任意一个节点都可以删除(可以只删掉本节点,也可以连同子节点一起删除);
有什么好的算法去操作这个数据对象呢?

慕斯王
浏览 428回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答