Ejercicio de JavaScript 27
Lista de Tareas con localStorage
Objetivo
Aprender a almacenar y gestionar una lista de tareas en localStorage
. Practicar el uso de JSON.stringify
y JSON.parse
para almacenar y recuperar arrays de objetos.
Actividad
- Crea una función
agregarTarea(tarea)
que reciba una tarea (como un string) y agregue la tarea a una lista de tareas enlocalStorage
. - Si la lista de tareas ya existe en
localStorage
, agrega la nueva tarea al array existente. Si no existe, crea un nuevo array con la primera tarea. - Guarda la lista de tareas actualizada en
localStorage
. - Crea una función
mostrarTareas()
que recupere la lista de tareas desdelocalStorage
y muestre cada tarea en la consola. - Llama a ambas funciones para agregar y mostrar algunas tareas.
Solución
Paso 1: Crear el archivo index.html
HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Lista de Tareas con localStorage</title>
</head>
<body>
<h1>Ejercicio 27: Lista de Tareas con localStorage</h1>
<p>Los cambios se muestran en consola.</p>
<script src="script.js"></script>
</body>
</html>
Paso 2: Escribir el código en script.js
JavaScript
// Función para agregar tareas al localStorage
function agregarTarea(tarea) {
// Paso 1: Verificar si ya existe una lista de tareas
let tareas = JSON.parse(localStorage.getItem("tareas")) || [];
// Paso 2: Agregar la nueva tarea al array de tareas
tareas.push(tarea);
// Paso 3: Guardar la lista actualizada en localStorage
localStorage.setItem("tareas", JSON.stringify(tareas));
}
// Función para mostrar las tareas guardadas en localStorage
function mostrarTareas() {
// Paso 4: Recuperar la lista de tareas desde localStorage
const tareas = JSON.parse(localStorage.getItem("tareas")) || [];
// Paso 5: Mostrar cada tarea en la consola
console.log("Lista de tareas:");
tareas.forEach((tarea, index) => {
console.log(`${index + 1}. ${tarea}`);
});
}
// Llamadas de ejemplo
agregarTarea("Aprender JavaScript");
agregarTarea("Practicar HTML y CSS");
agregarTarea("Estudiar localStorage");
mostrarTareas();