我做了一些环顾四周,但我无法在Javascript中找到答案。我发现的大多数现有问题都出现在其他语言(Python,C#,SQL等)上,作为初学者,我还不能在语言之间翻译概念。
无论如何,我所拥有的是一个IF..ELSE语句,即使IF部分的计算结果为true,ELSE部分也会一直运行,我认为它应该这样做:
if (condition) {
block of code to be executed if the condition is true
} else {
block of code to be executed if the condition is false
}
这是我的代码:
for(var key in Characters) {
if (Characters[key][matchArr[0]] > 1 && Characters[key][matchArr[1]] > 1 &&
Characters[key][matchArr[2]] > 1 && Characters[key][matchArr[3]] > 1 &&
Characters[key][matchArr[4]] > 1) {
console.log("if...stuff!")
break;
} else {
console.log("Else Stuff");
}
}
我可以通过在控制台中单独运行它并检查输出(这是真的)来验证我的第一个条件是否为真。如果在没有ELSE
部分的情况下运行,我会得到预期结果"if...stuff!"
。如果使用ELSE
部分运行,我会同时使用。
这似乎与我的情况有关,而不是循环的编写方式或我记录的内容。如果我写这样的话,IF..ELSE
语句就像我期望的那样起作用。
for(var key in Characters) {
x = true;
if (x === true) {
console.log("if stuff");
break;
} else {
console.log("else stuff");
break;
}
}
我评估为true
的预期条件有什么不对,但在IF...ELSE
声明中,它仍会运行ELSE
部分。
Characters[key][matchArr[0]] > 1 && Characters[key][matchArr[1]] > 1 &&
Characters[key][matchArr[2]] > 1 && Characters[key][matchArr[3]] > 1 &&
Characters[key][matchArr[4]] > 1
真