Skip to content

Commit 349b055

Browse files
#25 - JavaScript "Extra"
1 parent 6b10d16 commit 349b055

File tree

1 file changed

+44
-1
lines changed

1 file changed

+44
-1
lines changed

Roadmap/25 - LOGS/javascript/JesusAntonioEEscamilla.js

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,49 @@ console.groupEnd();
4040

4141
/**-----DIFICULTAD EXTRA-----*/
4242

43-
// Pendiente
43+
//Clase de Tareas
44+
class TaskManager{
45+
constructor(){
46+
this.tasks = [];
47+
}
48+
49+
// Agregar Tarea
50+
addTask(nombre, descripción){
51+
console.time(`Tiempo de Ejecución - Añadir tarea: ${nombre}`);
52+
const task = {nombre, descripción};
53+
this.tasks.push(task);
54+
console.log(`Tarea añadida: "${nombre}" - "${descripción}"`);
55+
console.timeEnd(`Tiempo de Ejecución - Añadir tarea: ${nombre}`);
56+
return
57+
}
58+
59+
// Borrar Tarea
60+
removeTask(nombre){
61+
console.time(`Tiempo de Ejecución - Eliminar tarea: ${nombre}`);
62+
const initialLength = this.tasks.length;
63+
this.tasks = this.tasks.filter(task => task.nombre !== nombre);
64+
if (this.tasks.length === initialLength) {
65+
console.error(`No se encontró la tarea con el nombre "${nombre}"`);
66+
} else {
67+
console.log(`Tarea eliminada: ${nombre}`);
68+
}
69+
console.timeEnd(`Tiempo de Ejecución - Eliminar tarea: ${nombre}`);
70+
}
71+
72+
// Listar las Tareas
73+
listTasks(){
74+
console.log('Listado de tareas:');
75+
console.table(this.tasks);
76+
}
77+
}
78+
79+
// Ejemplo de las Tareas
80+
const tasksManager = new TaskManager();
81+
tasksManager.addTask('Caminar', 'Caminar todos los días para bajar de peso');
82+
tasksManager.addTask('Leer un libro', 'Leer por 10 minutos un libro');
83+
tasksManager.addTask('Leer un libro', 'Leer por 10 minutos un libro');
84+
tasksManager.listTasks();
85+
tasksManager.removeTask('Caminar');
86+
tasksManager.listTasks();
4487

4588
/**-----DIFICULTAD EXTRA-----*/

0 commit comments

Comments
 (0)