gpt4 book ai didi

javascript - VisJs - 获取特定节点的边数

转载 作者:搜寻专家 更新时间:2023-11-01 04:53:55 27 4
gpt4 key购买 nike

我想在 visjs/javascript 中找到连接到特定节点的边数。

为了说明我的需求,我编写了这个示例:

<html>
<head>
<title>Get number of edges of a specific node</title>
<script type="text/javascript" src="/home/altug/Downloads/BTAGViewer/libs/visjs/vis.min.js"></script>
</head>
<body>
<div id="mynetwork"></div>
<script type="text/javascript">
// create an array with nodes
var nodes = new vis.DataSet([
{id: "A", label: 'label A'},
{id: "B", label: 'label B'},
{id: "C", label: 'label C'},
{id: "D", label: 'label D'},
{id: "E", label: 'label E'}
]);

// create an array with edges
var edges = new vis.DataSet([
{from: "A", to: "C"},
{from: "A", to: "B"},
{from: "B", to: "D"},
{from: "B", to: "E"}
]);

// create a network
var container = document.getElementById('mynetwork');
var data = {
nodes: nodes,
edges: edges
};
var options = {};
var network = new vis.Network(container, data, options);

var some_id = "B";
var some_node = nodes.get(some_id);
console.dir(some_node);

console.log(/*magically retrieve the number of edges for node "B" ---> 3 (for this graph)*/);
</script>
</body>

我知道我可以遍历边缘并计算特定节点 ID 的出现次数,例如:

for(var i = 0; i < edges.get().length; i++){
...
}

但是使用 vis.js 内置功能是否还有另一种可能性?

最佳答案

这种逻辑确实很容易自己实现,vis.js中没有内置功能。有许多不同的用例需要略有不同的算法,因此我们认为最好将其留给您并利用 JavaScript 的灵 active 来实现。

在您的情况下,您确实可以只过滤具有您要查找的 nodeId 的边:

function getEdgesOfNode(nodeId) {
return edges.get().filter(function (edge) {
return edge.from === nodeId || edge.to === nodeId;
});
}

关于javascript - VisJs - 获取特定节点的边数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34791265/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com