【问题标题】:Conditional statement inside for loopfor循环内的条件语句
【发布时间】:2014-07-04 15:01:13
【问题描述】:

II 有一个基本的 for 循环来循环数据馈送:

for(var i = 0; i<items.length; i++) {

然后以这种形式定义了几个变量:

var x = items.content[i]

如果x 的值之一等于循环外部的值 (y),我现在想做一些事情:

if (x == y) { //do something }

xy 的所有值始终是唯一的,因此永远不会有多个匹配项 - 但可能没有。

接下来是问题 - 如果没有匹配项,如果 x 的值与 y 不匹配,我想做其他事情。

如果我只是这样做:

else { //do something else }

else 的条件也满足x 的其他值。我曾尝试将break; 放在if 条件之后,但除非在x 的第一个值上找到匹配项,否则两个条件都满足并且两个动作都会被触发。如何构造它以便在xy 之间存在匹配时触发第一个动作,但所有值时触发第二个动作的xy 不匹配?

感谢您的任何建议或意见。

【问题讨论】:

  • 您可以在顶部声明一个布尔值,如果值匹配,则将其标记为 TRUE,以后您可以在整个过程中肯定地引用该变量:)

标签: javascript if-statement for-loop


【解决方案1】:

创建一个布尔值来保存找到“y”的结果,然后根据该布尔值执行循环外的操作:

var match = false;

for(var i = 0; i<items.length; i++) {
    var x = items.content[i]
    if(x == y) {
        match = true;
        // a match is found, there is no need to continue, 
        break;
    }
}

if(match) {
    //do something
} else {
    //do something else
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    相关资源
    最近更新 更多