Menu
Coddy logo textTech

Visão Geral do Projeto

Parte da seção Lógica & Fluxo do Journey de JavaScript da Coddy — lição 42 de 65.

challenge icon

Desafio

Fácil

Você criará um sistema de gerenciamento de biblioteca. Comece inicializando o sistema com os dados fornecidos e criando a estrutura da função principal.

Crie uma variável chamada libraryData com estes dados iniciais exatos:

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

Agora siga estes passos:

Crie uma função chamada manageLibrary que recebe dois parâmetros:

  • actions (array de strings)
  • data (array de objetos)

A função deve processar cada ação no array actions em sequência, usando o objeto de dados correspondente do array data no mesmo índice. Por exemplo, a ação em actions[i] usa os dados em data[i].

Crie um loop que percorra cada ação no array actions e, dentro do loop:

  1. Crie um array de resultados vazio que conterá todos os resultados
  2. Crie uma instrução switch que lidará com diferentes casos
  3. Adicione um caso printBooks dentro da instrução switch que adicionará os livros atuais dentro do libraryData ao array results
  4. Adicione um caso printReaders dentro da instrução switch que adicionará os leitores atuais dentro do libraryData ao array results
  5. Adicione um caso default que adiciona um "Invalid action!" ao array results

Experimente você mesmo

// Dados iniciais da 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':
                // Escreva seu código aqui
            case 'printReaders':
                // Escreva seu código aqui
            default:
                results.push("Invalid action!");
        }
    }
    return results;
}

Todas as lições de Lógica & Fluxo