【发布时间】:2015-06-16 17:20:02
【问题描述】:
我将如何在 JS 中创建树状数据结构,在其中,我可以访问诸如对父节点的引用、基于 id 的节点查找、访问子节点的长度(数量)、基于索引等内容查找等?
这基本上是我设想的 API:
var rootNode = DataStructure.getRoot();
var child1 = rootNode.addNode('child1'); //added a node with id 'child1'
child1.addNode('innerChild1');
child1.addNode('innerChild2');
rootNode.getChildById('child1') //should be same node as var child1
rootNode.getAtIndex(0) //should be same node as var child1
child1.parent() //should be rootNode
child1.getAtIndex(0) // should be node with id 'innerChild1'
child1.getAtIndex(1) // should be node with id 'innerChild2'
child1.length() //should be 2
等等。
我理解这是一个广泛的问题,但我想知道是否有人可以推荐一种方法来解决这个问题和/或任何可能已经这样做的库?我应该只动态创建一个 XML 并使用它的本机方法吗?那会是最快的吗?
【问题讨论】:
-
我想你想要 jQuery?
-
为什么选择 jQuery?我想要一个数据结构,它不是特定于 DOM 的
-
看来你需要的是一个二叉搜索树Check This Out
-
getAtIndex应该对应节点的排序顺序还是添加的顺序? -
您想要通过 id 全局查找还是仅在单个父节点内查找?
标签: javascript arrays json oop data-structures