Java script 创建一个Todo列表的对象,要求可以添加、删除、标记和查询TODO项
时间: 2024-09-26 17:15:21 浏览: 13
在JavaScript中,你可以创建一个简单的Todo List对象,使用对象数组来存储任务,包含任务标题(title),完成状态(isDone)等字段。下面是一个基础的设计:
```javascript
class TodoList {
constructor() {
this.tasks = [];
}
// 添加任务
addTask(taskTitle) {
const newTask = { title: taskTitle, isDone: false };
this.tasks.push(newTask);
}
// 删除任务
deleteTask(taskIndex) {
if (taskIndex >= 0 && taskIndex < this.tasks.length) {
this.tasks.splice(taskIndex, 1);
} else {
console.error("无效的任务索引");
}
}
// 标记任务为已完成
toggleTask(taskIndex) {
if (taskIndex >= 0 && taskIndex < this.tasks.length) {
this.tasks[taskIndex].isDone = !this.tasks[taskIndex].isDone;
} else {
console.error("无效的任务索引");
}
}
// 查询所有任务或完成的任务
getTasks(filterFn = () => true) {
return this.tasks.filter(filterFn);
}
}
// 使用示例
const todoList = new TodoList();
todoList.addTask('学习JavaScript');
todoList.toggleTask(0); // 标记第一个任务为已完成
console.log(todoList.getTasks()); // 打印所有任务
console.log(todoList.getTasks(task => !task.isDone)); // 打印未完成的任务
// 删除第一个任务
todoList.deleteTask(0);
```
以上代码定义了一个TodoList类,包含了添加任务、删除任务、切换任务完成状态以及查询任务的方法。`getTasks`方法允许传入一个可选的过滤函数,用于进一步筛选任务。