javascript - 卡在 else if 循环中

标签 javascript arrays if-statement foreach

我正在为类做练习,我们正在创建待办事项列表。

我的问题是,当我输入我的 Todo 并按回车键时,我收到消息 Enter new Todo,而不是 Added todo

看来我陷入了这个 else if 循环,它不会转到下一个 else if 语句。

var todos = ["Buy New Turtle"];

window.setTimeout(function() {

  var input = prompt("What would you like to do?");

  while(input !== "quit") {

    if(input === "list") {
      console.log("**********");
      todos.forEach(function(todo, i) {
        console.log(i + ": " + todo);
      })
      console.log("**********")
    }
    else if(input === "new") {
      var newTodo = prompt("Enter new todo");
      todos.push(newTodo);
      console.log("Added todo");
      }

    else if(input === "delete"){
      var index = prompt("Enter index of todo to delete");
      todos.splice(index, 1);
      }
  }
    input = prompt("What would you like to do?");

  console.log("OK, YOU QUIT THE APP");
}, 500);

最佳答案

您需要将 input 的重新声明放在 while 循环中。还要检查 input 是否真实 - 这样如果有人关闭提示框它就不会崩溃。

var todos = ["Buy New Turtle"];

window.setTimeout(function() {

  var input = prompt("What would you like to do?");

  while (input !== "quit" && input) {

    if (input === "list") {
      console.log("**********");
      todos.forEach(function(todo, i) {
        console.log(i + ": " + todo);
      })
      console.log("**********")
    } else if (input === "new") {
      var newTodo = prompt("Enter new todo");
      todos.push(newTodo);
      console.log("Added todo");
    } else if (input === "delete") {
      var index = prompt("Enter index of todo to delete");
      todos.splice(index, 1);
    }

    input = prompt("What would you like to do?");
  }

  console.log("OK, YOU QUIT THE APP");
}, 500);

关于javascript - 卡在 else if 循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56821534/

相关文章:

Java 计算 IF 语句

javascript - 单击 <a href ="#"></a> 时不想转到页面顶部

javascript - javascript中的 "return+"是什么意思

javascript - 如何将 CSS 成功导入 Polymer

c - 将二维字符数组与函数一起使用

ios - 如果 UIButton 的大小是一定大小,如何更改它的大小

失败函数的 C++ while 语句?

javascript - 运行服务器端 Javascript

java - 根据 if else 语句更改字符串数组项

javascript - 如果使用带有箭头函数的 .find 方法数组为空而不是未定义,如何返回 'null'?