Menu
Coddy logo textTech

Panoramica del progetto

Fa parte della sezione Logica e flusso del percorso JavaScript di Coddy. Lezione 42 di 65.

challenge icon

Sfida

Facile

Creerai un sistema di gestione di una biblioteca. Inizia inizializzando il sistema con i dati forniti e creando la struttura della funzione principale.

Crea una variabile chiamata libraryData con questi dati iniziali esatti:

{
    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",
        }
    ]
}

Ora segui questi passaggi:

Crea una funzione chiamata manageLibrary che accetta due parametri:

  • actions (array di stringhe)
  • data (array di oggetti)

La funzione deve elaborare ogni azione nell'array actions in sequenza, usando l'oggetto di dati corrispondente dall'array data allo stesso indice. Per esempio, l'azione in actions[i] usa i dati in data[i].

Crea un ciclo che scorra ogni azione nell'array actions, poi, all'interno del ciclo:

  1. Crea un array di risultati vuoto che conterrà tutti i risultati
  2. Crea un'istruzione switch che gestisca i diversi casi
  3. Aggiungi un caso printBooks all'interno dell'istruzione switch che aggiunga i libri attualmente presenti in libraryData all'array results
  4. Aggiungi un caso printReaders all'interno dell'istruzione switch che aggiunga i lettori attualmente presenti in libraryData all'array results
  5. Aggiungi un caso predefinito che aggiunga “Invalid action!” all'array results

Provalo tu

// Dati iniziali della 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':
                // Scrivi il tuo codice qui
            case 'printReaders':
                // Scrivi il tuo codice qui
            default:
                results.push("Invalid action!");
        }
    }
    return results;
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore JavaScript online