检查所有值是否正确循环

时间:2017-12-28 09:34:07

标签: javascript loops while-loop

我想为check表创建一个循环。

如果其中一个Col3包含" "变量 a 将被填充" "

如果Col3的所有值=是,则变量a将是返回值

Col1  depend  isResolved
im1    SD10349    yes
im2    SD10349    no
im3    SD10349    yes

我的代码如下

var frel = new SCFile("screlation");
var q = "depend=\"SD10349\"";
var rc = frel.doSelect(q);
var a="";
while(rc==RC_SUCCESS){
    switch(true){
        case frel.isResolved=="yes":
            a="yes";break;
        case frel.isResolved=="no":
            a="no";break;
    }
    rc=frel.getNext();
}
print(a);

但变量 a 始终返回。欣赏任何有用的东西:)

此致 Okik

3 个答案:

答案 0 :(得分:2)

switch语句中,switch包含表达式参数,而不是表达式的可能输出。

尝试颠倒相同的

switch(frel.isResolved){ //expression as the parameter to switch
    case "yes": //check the 
        a="yes";break;
    case "no":
        a="no";break;
    default: 
      break;
 }

或者只是将frel.isResolved的值分配给a(因为这是你正在做的事情)

a = frel.isResolved;

修改

如果你想在遇到no时立即停止

while( rc == RC_SUCCESS && a != "no" )
{
    a = frel.isResolved;
    rc = frel.getNext();
}

答案 1 :(得分:2)

这应该这样做:

  var frel = new SCFile("screlation");
    var q = "depend=\"SD10349\"";
    var rc = frel.doSelect(q);
    var a="";
    while(rc==RC_SUCCESS){
        a = (frel.isResolved=="yes")?"yes":"no"
        if(a=="no")break;
        rc=frel.getNext();
    }
    print(a);
    }

答案 2 :(得分:0)

这里的问题是你没有清除以前的值。清除以前的值。在第一种情况下,将一个值设为null或为空。

在rc = frel.getNext()之后;语句在进入下一个循环之前清除变量值。

a.val( '');