我有这个for循环,并且我想仅在不满足任何if条件时才执行for循环中的else。 for 循环将一直运行,直到检查完数据库中的每个项目为止。如果数据库中没有任何项目与用户输入匹配,那么我想运行 else。
现在,它在第一次尝试后立即运行 else,这意味着如果项目匹配位于最后一行,它只会将其扔到错误页面中,因为它会在第一次迭代时停止评估。
for(var i=0; i< rows.length; i++) {
if (rows[i].hashtag == userEnteredHashtag) {
// Display the choose Box page
res.render('chooseBox', {});
}
else {
// Display the invalid hashtag page
res.render('invalidHashtag', {});
}
}
最佳答案
只需将 else
部分移到循环之外并根据标志执行它
var wasFound = false;
for (var i = 0; i < rows.length; i++) {
if (rows[i].hashtag == userEnteredHashtag) {
// ...
wasFound = true; // set the flag here
}
}
if (!wasFound) {
res.render('invalidHashtag', {});
}
关于javascript - 如果没有找到任何项目,则执行 else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38904003/