2014-02-15 141 views
-1

我是模擬一些圖表並且對給一些布爾條件在循環某些陣列的一些問題,這是代碼布爾數組與循環

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

不使用布爾條件,只是嘗試它的對象,像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; 
    }