II有一个基本的for循环来遍历数据馈送:
for(var i = 0; i<items.length; i++) {
然后以这种形式定义了几个变量:
var x = items.content[i]
现在我想做一些事情,如果x
的一个值等于循环外的值(y
):
if (x == y) {
//do something
}
x
和y
的所有值都将是唯一的,因此永远不会有多个匹配 - 但可能没有。
接下来出现问题 - 如果没有匹配项,我想做其他事情,如果x
的值不匹配y
。
如果我做的事情如下:
else {
//do something else
}
其他else
值也满足x
条件。我尝试在break;
条件之后添加if
,但除非在x
的第一个值上找到匹配项,否则两个条件都会得到满足并且两个操作都会被触发。如何构建此项,以便在x
和y
之间匹配时触发第一个操作,但如果所有<,则仅触发第二个操作 / strong> x
的值与y
不匹配?
感谢您的任何建议或建议。
答案 0 :(得分:3)
创建一个布尔值,它将保存查找&#39; y&#39;的结果,然后根据布尔值执行循环外的操作:
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
}