在我的代码中,我遇到了一个错误。
如果您运行此javascript代码并查看控制台输出的内容。
我将有一个待办事项清单,我将输入新的东西,我想做的很棒,它添加到数组中。然后我会再次点击新的,很棒,为阵列增加了另一件事。
现在我的数组[0]和[1]中应该有两个项目正确吗?
如果我尝试删除它不起作用的项目。我必须使用删除密钥术语两次,然后点击列表再次工作? Idk如果它只是我身边的一个错误但运行我的javascript应用程序使用HTML页面中的keyterms并尝试添加新的事情,列出它们,然后尝试删除它们。它可以工作但是第一次尝试不起作用。
警告会导致浏览器在键入quit
之前不断打开警报
var todos = [""];
var input = prompt("What would you like to do today?");
while (input !== "quit") {
if (input === "list") {
todos.forEach(function(todo, i) {
console.log(i + ": " + todo);
});
} else if (input === "new") {
var newTodo = prompt("Enter new thing to do");
todos.push(newTodo);
} 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 have quit the application");
<!DOCTYPE html>
<html>
<head>
<title>Todo List</title>
</head>
<body>
<h1>To Do List</h1>
<ul>
<li>"new" - Add A Todo</li>
<li>"list" - List all Todos</li>
<li>"Delete" A Specific Todo</li>
<li>"quit" - quit the application</li>
</ul>
</body>
</html>
答案 0 :(得分:3)
很难说出你做了什么来产生负面结果,但这是我最好的猜测:
var todos = [""];
表示您的数组以todos[0]
处的空字符串开头。您应该使用var todos = [];
初始化数组。