Skip to content

Commit bdcc19e

Browse files
authored
Add deadline to tasks and implement deleteCompleted
Enhanced addTask function to include an optional deadline parameter and added deleteCompleted function to remove completed tasks.
1 parent 519e904 commit bdcc19e

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

‎Sprint-3/todo-list/todos.mjs‎

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,30 @@
1010
*/
1111

1212
// Append a new task to todos[]
13-
export function addTask(todos, task, completed = false) {
14-
todos.push({ task, completed });
13+
export function addTask(todos, task, completed = false, deadline = "") {
14+
const todo = { task, completed };
15+
if (deadline) {
16+
todo.deadline = deadline;
17+
}
18+
todos.push(todo);
1519
}
16-
1720
// Delete todos[taskIndex] if it exists
1821
export function deleteTask(todos, taskIndex) {
1922
if (todos[taskIndex]) {
2023
todos.splice(taskIndex, 1);
2124
}
2225
}
23-
2426
// Toggle the "completed" property of todos[taskIndex] if the task exists.
2527
export function toggleCompletedOnTask(todos, taskIndex) {
2628
if (todos[taskIndex]) {
2729
todos[taskIndex].completed = !todos[taskIndex].completed;
2830
}
29-
}
31+
}
32+
//delete complete tasks
33+
export function deleteCompleted(todos) {
34+
for (let i = todos.length - 1; i >= 0; i--) {
35+
if (todos[i].completed) {
36+
todos.splice(i, 1);
37+
}
38+
}
39+
}

0 commit comments

Comments
 (0)