我模拟了一些图形,并且在循环中为某些数组给出一些布尔条件存在一些问题,这就是代码
var check = false;
for (var k in GexfJS.graph.edgeList) {
var _edge = GexfJS.graph.edgeList[k]
if ( (_edge.source == _curre) && ( _edge.target != _nodeIndex) ) {
var _node = GexfJS.graph.nodeList[_edge.target];
_str += '<li><div class="smallpill" style="background: ' + _node.color.base +'"></div><a href="#" onmouseover="GexfJS.params.activeNode = ' + _edge.target + '" onclick="displayNode(' + _edge.target + ', true); return false;">' + _node.label + '</a>' + ( GexfJS.params.showEdgeWeight && _edge.weight ? ' [' + _edge.weight + ']' : '') + '</li>';
}
}
我的目标是,当某个节点选择了边缘时,它不会再次选择节点,因为当边缘选择节点时它会有一些动作,在我的图形中,节点有很多边缘。那么我在上面使用布尔条件插入上述算法的代码如何为从边缘中选择的节点赋予条件?
答案 0 :(得分:0)
不要使用布尔条件,只需尝试对象,例如check={};
然后把条件
if ( (_edg.target == _curra) && (_edg.source != _nodeIndex)) {
var _nod = GexfJS.graph.nodeList[_edg.source];
if(check[_nod.label] != true){
if(_n != _nod){
_str += '';
}
}
check[_nod.label] = true;
}