Как я могу создать древовидную структуру данных в JS, где я могу получить доступ к таким вещам, как ссылка на родительский node, на основе поиска node на основе 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 и работать с его собственными методами? Это будет самый быстрый?