我正在处理一个非常复杂的工作流程,我想将其表示为 JavaScript 数据结构。流程本质上是一组问题和答案,其中一个问题的答案会影响下一个问题。以下是流程的基本示例:
我不确定如何将此流转换为易于使用的 JavaScript 对象。理想情况下,我希望有一个易于循环/递归且易于修改的结构,因此如果有人想在以后更改流程,他们可以这样做而不必进行太多更改。
我觉得这是一种奇怪的树结构,其中节点可以有多个父节点。(我不确定这样的数据结构叫什么。)
无论如何,我唯一的想法是为每个节点分配一个 ID,然后创建一个节点对象数组,如下所示:
{
id: 5,
parents: [2, 3],
children: [6, 7, 8]
}
但是,在遍历节点对象时,这似乎非常不灵活(不过我可能是错的)。
如果有人可以就我应该研究什么样的数据结构以及可能如何在 JavaScript 中实现它们提供一些指导/指导,我将不胜感激。
非常感谢您提前。