Visão Geral do Projeto
Parte da seção Lógica & Fluxo do Journey de JavaScript da Coddy — lição 42 de 65.
Desafio
FácilVocê 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:
- Crie um array de resultados vazio que conterá todos os resultados
- Crie uma instrução switch que lidará com diferentes casos
- Adicione um caso
printBooksdentro da instrução switch que adicionará os livros atuais dentro dolibraryDataao arrayresults - Adicione um caso
printReadersdentro da instrução switch que adicionará os leitores atuais dentro dolibraryDataao arrayresults - 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
1Strings em Profundidade
Fundamentos de StringsIterar sobre StringsTemplate LiteralsMétodos de StringRecapitulação - String Weaver4JSON Parte 2
Iterar sobre JSONJSON AninhadoEncadeamento Opcional em JSONCópia Rasa e ProfundaRecapitulação - Loja de BicicletasRecapitulação - Sistema Solar7Sistema de Gerenciamento de Biblioteca
Visão Geral do ProjetoAdicionando Livros10Gerenciar Sistema de Festival
Visão Geral do ProjetoAdicionar Filmes e Locais2Arrays Multidimensionais
Fundamentos de Arrays 2DAcessando Elementos de Arrays 2DLoops Aninhados com Arrays 2DRecapitulação - Arrays 2DAdição e Subtração de MatrizesArrays IrregularesArrays 3D e AlémPadrões Comuns de Arrays 2DRecapitulação - Tudo Sobre Arrays5Sets Parte 1
O que é um Set?Iterando sobre SetsAdicionando um elementoRemovendo um elementoVerificando se um elemento existeTamanho e Is EmptyCopy e ClearRecapitulação - O básico de Sets8Tópicos Interessantes sobre Arrays
Desestruturação de ArraysSintaxe Spread em ArraysArrays EsparsosRecapitulação - Workshop de Arrays3JSON Parte 1
O que é um JSON?Verificar se a Chave ExisteMétodos de ObjetoO Spread Operator Parte 1O Spread Operator Parte 2Remover ChavesRecapitulação - Manipular Chaves JSON