|
| 1 | +// Hecho por @Rafacv23 | https://github.com/Rafacv23 | https://twitter.com/rafacanosa | https://www.rafacanosa.dev |
| 2 | + |
| 3 | +// Tipos de logs que hay en JavaScript |
| 4 | +console.log("Esto es un console.log() sirve para mostrar mensajes por consola.") |
| 5 | +console.warn( |
| 6 | + "Esto es un console.warn(), sirve para mostrar mensajes de aviso ante posibles errores o áreas a las que haya que prestar especial atención." |
| 7 | +) |
| 8 | +console.error( |
| 9 | + "Esto es un console.error(), sirve para mostrar errores por consola." |
| 10 | +) |
| 11 | +console.info( |
| 12 | + "Esto es un console.info(), sirve para aportar información adicional a un mensaje." |
| 13 | +) |
| 14 | +console.debug( |
| 15 | + "Esto es un console.debug(), sirve para mostrar un mensaje por consola pero con el modo debug activado." |
| 16 | +) |
| 17 | + |
| 18 | +// Dificultad opcional |
| 19 | +console.log("Iniciando programa de gestión de tareas...") |
| 20 | +class Task { |
| 21 | + // Sirve para crear nuevas tareas |
| 22 | + constructor(name, description) { |
| 23 | + console.time("Tiempo para añadir tarea") |
| 24 | + this.name = name |
| 25 | + this.description = description |
| 26 | + console.timeEnd("Tiempo para añadir tarea") |
| 27 | + } |
| 28 | + |
| 29 | + deleteTask(name, taskList) { |
| 30 | + console.time("Tiempo para eliminar tarea") |
| 31 | + |
| 32 | + // check if name is provided |
| 33 | + if (!name) { |
| 34 | + console.error("No se ha introducido el nombre de la tarea") |
| 35 | + return |
| 36 | + } |
| 37 | + |
| 38 | + //Check if task exists |
| 39 | + const taskExists = taskList.some((task) => task.name === name) |
| 40 | + |
| 41 | + if (!taskExists) { |
| 42 | + console.error( |
| 43 | + `Error: No se encontró ninguna tarea con el nombre "${name}".` |
| 44 | + ) |
| 45 | + return taskList // Retornar el array original si no se encuentra el item |
| 46 | + } |
| 47 | + |
| 48 | + const updatedTaskList = taskList.filter((task) => task.name !== name) |
| 49 | + console.log(`Tarea con nombre "${name}" eliminada correctamente.`) |
| 50 | + |
| 51 | + console.timeEnd("Tiempo para eliminar tarea") |
| 52 | + return updatedTaskList // Devolver la lista actualizada |
| 53 | + } |
| 54 | + |
| 55 | + showTasks(taskList) { |
| 56 | + console.time("Tiempo para listar tareas") |
| 57 | + console.log("Tareas actuales:") |
| 58 | + for (let i = 0; i < taskList.length; i++) { |
| 59 | + console.log(`${i + 1}. ${taskList[i].name} - ${taskList[i].description}`) |
| 60 | + } |
| 61 | + console.timeEnd("Tiempo para listar tareas") |
| 62 | + } |
| 63 | +} |
| 64 | + |
| 65 | +const taskList = [ |
| 66 | + new Task("Lavar la ropa", "Separar blanco de color"), |
| 67 | + new Task("Hacer la compra", "Comprar pan, leche y huevos"), |
| 68 | + new Task("Estudiar", "Estudiar para el examen de JavaScript"), |
| 69 | +] |
| 70 | + |
| 71 | +const taskManager = new Task() |
| 72 | + |
| 73 | +taskManager.showTasks(taskList) |
| 74 | + |
| 75 | +taskManager.deleteTask("Estudiar", taskList) |
0 commit comments