javascript - 如果没有找到任何项目,则执行 else 语句

标签 javascript node.js if-statement for-loop

我有这个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/

相关文章:

javascript - 作为单位矩阵的最大子矩阵

c++ - 如何在不使用 goto 的情况下从 if block 跳转到 else block ?

javascript - JWT如何绕过某些API路由和http方法

node.js - Node 简单http应用程序响应2次

node.js - 等待 Facebook Messenger 机器人的短信回复

Javascript Canvas 图像并不总是加载

android - Kotlin:将 'cascade if' 替换为 'when' 与其他变量进行比较

javascript - 使用 Emailjs 时,我的收件箱没有收到表单输入信息

javascript - 在 rails 上初始化应用程序 css 和 javascript 标签时,不显示完整日历标题工具栏按钮

javascript - 无法通过 JQuery 更改图像的 src