javascript - 使用 cytoscape.js 循环节点

标签 javascript arrays nodes cytoscape.js

我目前正在尝试使用 cytoscape.js 对图表进行循环 问题是我不太明白如何做到这一点,因为有一些重复的节点。

我有这样的数据:

Sheraton Cherry, Rosaceae, Dentate, Pinnate
Pineapple Guava, Myrtaceae, Entire, Pinnate
Chinese Sumac, Rosaceae, Entire, Pinnate

正如您所看到的,一些数据正在重复。

到目前为止,这就是我得到的:

  elements: {
nodes: [
  { data: { id: 'a', name: 'Sheraton Cherry' } },
  { data:  { id: 'a1', name: 'Rosacea'}},
  { data: { id: 'a2', name: 'Dentate' } },
  { data: { id: 'a3', name: 'Pinnate' } },
  { data: { id: 'b', name: 'Pineapple Guava' } },
  { data:  { id: 'b1', name: 'Myrtaceae'}},
  { data: { id: 'b2', name: 'Entire' } },
  { data: { id: 'a3', name: 'Pinnate' } }

],
edges: [
  { data: { source: 'a1', target: 'a' }},
  { data: { source: 'a2', target: 'a' }},
  { data: { source: 'a3', target: 'a' }},
  { data: { source: 'b1', target: 'b'}},
  { data: { source: 'b2', target: 'b'}},
  { data: { source: 'a3', target: 'b'}}
]

},

我手动输入了它,图形完美地显示出来,但由于这只是部分数据,而且我还有 10 个数据,所以我应该循环节点和边。

但是我该怎么做呢?

发现了这样的东西:

var demoNodes = [];
var demoEdges = [];

demoNodes.push({

    data: {
        id: b[0],
        name:b[0]
    }
});

for (var i = 0; i < a.length; i++) {
    demoNodes.push({

        data: {
            id: a[i],
            name:a[i]
        }
    });
}

for (var i = 0; i < a.length; i++) {
    demoEdges.push({
        data: {
            source: b[0],
            target: a[i]
        }
    })
}

但仍然不起作用。

最佳答案

解析您的输入数据并将其转换为 elements JSON format .

如果您的数据仅以逗号分隔,请在输入字符串上使用 .split().trim()。请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

Cytoscape 不允许元素具有重复的 ID,但原则上如果您在解析时(或在解析后进行另一次传递)不允许重复,那么原则上会更好。

关于javascript - 使用 cytoscape.js 循环节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775615/

相关文章:

javascript - jQuery 事件顺序并等待动画完成

c++ - 如何比较 CUDA C++ 中的 char 数组?

c++ - 函数打印奇怪的值。 C++

java - Java 中的 SLinkedList 和 Node

C++链表插入结构中的节点和指针

python - 获取边末端的节点 g.edge_iter

javascript - 如何将 php 对象获取到 javascript?

javascript - GM_setClipboard(和其他 GM 函数)在 Firefox 中给出错误,但在 Chrome/Tampermonkey 中没有给出错误?

javascript - 无法将动态创建的嵌套 div 从一个 div 移动到另一个 div

android - WORKS : Android Custom Component - access Array in strings. xml,通过 layout.xml 提供