пример: http://jsfiddle.net/yeehawjared/bawv0790/объединения двух деревьев с использованием treemodel.js
Я строю приложение, где открывает веб-страницу, загружая JSON большой древовидной структуры данных. TreeModel.js анализирует это замечательно, и все хорошо.
Со временем браузер получает обновления в виде небольших деревьев данных. Я пытаюсь обвести голову вокруг объединения additionalData
в masterTree
. Я не могу придумать способ одновременного перемещения обоих и провести сравнение узлов за узлом. Если бы я мог, было бы легко объединить node.model.x
свойства и добавить детей, если они не существуют.
В приведенном ниже коде я просматриваю дополнительные данные, но я не знаю, как эффективно комбинировать новые узлы с masterTree
. Может кто-то помочь моей методологии с psuedo-кодом или указать мне в правильном направлении? Каков наилучший способ постоянно обновлять мой masterTree
?
Большое спасибо.
var tree = new TreeModel();
var masterTree = tree.parse(data1);
var additionalData = tree.parse(data2);
additionalData.walk(function (node) {
// compare additionalData to the masterTree
if (node.model.id == masterTree.model.id) {
console.debug('match, combine the attributes')
} else {
// add the additional node to the materTree
}
});
много, спасибо за то, что нашли время, чтобы помочь мне. Я собираюсь переварить это и пометить это как правильный ответ, как только у меня все выяснится. ты жжешь! – Jared