From 349b055986493c93f6193300b186904e791492f2 Mon Sep 17 00:00:00 2001 From: Jesus Antonio Escamilla Date: Sun, 23 Jun 2024 11:13:01 -0600 Subject: [PATCH] #25 - JavaScript "Extra" --- .../javascript/JesusAntonioEEscamilla.js | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/Roadmap/25 - LOGS/javascript/JesusAntonioEEscamilla.js b/Roadmap/25 - LOGS/javascript/JesusAntonioEEscamilla.js index c19ef63cbd..716d0c157d 100644 --- a/Roadmap/25 - LOGS/javascript/JesusAntonioEEscamilla.js +++ b/Roadmap/25 - LOGS/javascript/JesusAntonioEEscamilla.js @@ -40,6 +40,49 @@ console.groupEnd(); /**-----DIFICULTAD EXTRA-----*/ -// Pendiente +//Clase de Tareas +class TaskManager{ + constructor(){ + this.tasks = []; + } + + // Agregar Tarea + addTask(nombre, descripción){ + console.time(`Tiempo de Ejecución - Añadir tarea: ${nombre}`); + const task = {nombre, descripción}; + this.tasks.push(task); + console.log(`Tarea añadida: "${nombre}" - "${descripción}"`); + console.timeEnd(`Tiempo de Ejecución - Añadir tarea: ${nombre}`); + return + } + + // Borrar Tarea + removeTask(nombre){ + console.time(`Tiempo de Ejecución - Eliminar tarea: ${nombre}`); + const initialLength = this.tasks.length; + this.tasks = this.tasks.filter(task => task.nombre !== nombre); + if (this.tasks.length === initialLength) { + console.error(`No se encontró la tarea con el nombre "${nombre}"`); + } else { + console.log(`Tarea eliminada: ${nombre}`); + } + console.timeEnd(`Tiempo de Ejecución - Eliminar tarea: ${nombre}`); + } + + // Listar las Tareas + listTasks(){ + console.log('Listado de tareas:'); + console.table(this.tasks); + } +} + +// Ejemplo de las Tareas +const tasksManager = new TaskManager(); +tasksManager.addTask('Caminar', 'Caminar todos los días para bajar de peso'); +tasksManager.addTask('Leer un libro', 'Leer por 10 minutos un libro'); +tasksManager.addTask('Leer un libro', 'Leer por 10 minutos un libro'); +tasksManager.listTasks(); +tasksManager.removeTask('Caminar'); +tasksManager.listTasks(); /**-----DIFICULTAD EXTRA-----*/ \ No newline at end of file