【发布时间】:2017-02-04 19:07:15
【问题描述】:
在下面的代码中,sn-p if 块仅在 myCity == cites 时才会显示成功警报,然后中断循环执行。但在执行 if 块之前 else 块将执行每个索引(例如:cites[0]、cites[1]、cites[2])并显示失败警报,直到 if 块成功。
但是我想在整个执行过程中只显示一次失败的警报消息,任何人都可以帮助我吗?
var cites = [ "Bangalore", "Chennai", "Delhi", "Mumbai", "Cochin", "Mysore" ];
var myCity = "Mumbai";
for (i = 0; i < cites.length; i++) {
if (myCity == cites[i]) {
alert("Success:" + cites[i]);
break;
} else {
alert("Failed:" + cites[i]);
}
}
【问题讨论】:
-
听起来你真正想要的是
alert(cites.includes(myCity) ? "Success" : "Failed); -
show failed only once是什么意思——当你不匹配任何东西时你想要失败的消息吗?或者你想要任何不匹配的东西失败? (它们是不同的条件) -
如果失败应该注意什么?
-
他的代码现在的方式是,数组中的每个失败项都将
alertelse块中的失败项。通过仅显示一次失败,他希望显示一个包含所有失败项目的警报。他还想提醒失败的项目,即使有一个成功的项目。这对我来说没有多大意义,但这是我理解的。
标签: javascript if-statement for-loop