带有循环Javascript的数组的布尔条件

时间:2014-02-17 02:19:34

标签: javascript arrays

你好我想问一下我如何为数据从数组访问的一些数据给出布尔条件。这是代码

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]; 
       //action
    }
}

从上面的算法中,我想为每个 _edge.target 提供条件,已经给出了动作,它将通过检查(布尔条件)检查为真

示例:

var check = false;
for (var k in GexfJS.graph.edgeList) { 
    var _edge = GexfJS.graph.edgeList[k]
    if ( (_edge.source == _curre) && ( _edge.target != _nodeIndex) && (check != true) ) {
        var _node = GexfJS.graph.nodeList[_edge.target];
        //action
        check = true;
    }
}

问题是,条件check它不能坚持使用_edge.target

1 个答案:

答案 0 :(得分:0)

不使用布尔条件但使用对象

if ( (_edg.target == _curra) && (_edg.source != _nodeIndex) && (_edg.target != _n)) {
                                    var _nod = GexfJS.graph.nodeList[_edg.source];
                                    if(check[_nod.label] != true){
                                        if(_n != _nod){
                                        _str += '<li><div class="smallpill" style="background: ' + _nod.color.base +'"></div><a href="#" onmouseover="GexfJS.params.activeNode = ' + _edg.target + '" onclick="displayNode(' + _edg.target + ', true); return false;">' + _nod.label + 'b</a>' + ( GexfJS.params.showEdgeWeight && _edg.weight ? ' [' + _edg.weight + ']' : '') + '</li>';
                                        }
                                    }
                                    check[_nod.label] = true; 
                                }

不要忘记写var check={};