Menu
Coddy logo textTech

Descripción general del proyecto

Parte de la sección Lógica y Flujo del Journey de JavaScript de Coddy. Lección 42 de 65.

challenge icon

Desafío

Fácil

Crearás un sistema de gestión de biblioteca. Comienza inicializando el sistema con los datos proporcionados y creando la estructura de la función principal.

Crea una variable llamada libraryData con estos datos iniciales exactos:

{
    books: [
        {
            id: 1,
            title: "The Great Gatsby",
            author: "F. Scott Fitzgerald",
            year: 1925,
            genre: "Fiction",
            isRead: false,
            rating: 0,
            borrowed: false,
            borrowedBy: "",
            borrowDate: ""
        }
    ],
    readers: [
        {
            name: "John Smith",
            favoriteGenre: "Fiction",
        }
    ]
}

Ahora sigue estos pasos:

Crea una función llamada manageLibrary que acepte dos parámetros:

  • actions (matriz de cadenas)
  • data (matriz de objetos)

La función debe procesar cada acción de la matriz actions en secuencia, utilizando el objeto de datos correspondiente de la matriz data en el mismo índice. Por ejemplo, la acción en actions[i] utiliza los datos en data[i].

Crea un bucle que recorra cada acción de la matriz actions y, después, dentro del bucle:

  1. Crea una matriz de resultados vacía que contendrá todos los resultados
  2. Crea una sentencia switch que gestione diferentes casos
  3. Añade un caso printBooks dentro de la sentencia switch que añada los libros actuales de libraryData a la matriz results
  4. Añade un caso printReaders dentro de la sentencia switch que añada los lectores actuales de libraryData a la matriz results
  5. Añade un caso predeterminado que añada “Invalid action!” a la matriz results

Pruébalo tú mismo

// Datos iniciales de la biblioteca
let libraryData = {}


function manageLibrary(actions, data) {
    let results = [];

    for (let i = 0; i < actions.length; i++) {
        const currentAction = actions[i];
        const currentData = data[i];
        
        switch (currentAction) {
            case 'printBooks':
                // Escribe tu código aquí
            case 'printReaders':
                // Escribe tu código aquí
            default:
                results.push("Invalid action!");
        }
    }
    return results;
}

Todas las lecciones de Lógica y Flujo

Practica por tu cuenta: Compilador de JavaScript online