Вот визуализация график:

Для любого узла В промежутках графа я хочу пройти по остальным узлам графа, начиная с этого узла, включая пути, ведущие к любому из последующих узлов.
Начальный узел может содержать только один входящий. Однако последующие узлы для запуска узлов могут иметь несколько входящих ссылок.
График имеет массив узлов, где каждый узел имеет следующий формат:
Код: Выделить всё
{
"id": 123
}
Код: Выделить всё
{
"id": 111,
"left": {
"id": 123,
},
"right": {
"id": 234,
},
}
Код: Выделить всё
traverseDownstream(graph, startNode) {
const links = graph.links;
const linksToUpdate = links.filter(link => link.left.id === startNode.id);
linksToUpdate.forEach(link => {
const rightNode = graph.nodes.find(
node => node.id === link.right.id
);
if (rightNode) {
rightNode.traversed = true;
this.traverseDownstream(graph, rightNode);
}
});
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... aph-struct
Мобильная версия