Project Overview
Part of the Logic & Flow section of Coddy's JavaScript journey — lesson 42 of 65.
Challenge
EasyYou will be creating a library management system. Start by initializing the system with the provided data and creating the main function structure.
Create a variable called libraryData with this exact initial data:
{
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",
}
]
}Now follow these steps:
Create a function called manageLibrary that takes two parameters:
actions(array of strings)data(array of objects)
The function should process each action in the actions array in sequence, using the corresponding data object from the data array at the same index. For example, the action at actions[i] uses the data at data[i].
Create a loop that goes through each action in the actions array, then inside the loop:
- Create an empty result array that will hold all of the results
- Create a switch statement that will handle different cases
- Add a case
printBooksinside the switch statement that will add the current books inside thelibraryDatato theresultsarray - Add a case
printReadersinside the switch statement that will add the current readers inside thelibraryDatato theresultsarray - Add a default case that adds an “Invalid action!” to the
resultsarray
Try it yourself
// Initial library data
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':
// Write your code here
case 'printReaders':
// Write your code here
default:
results.push("Invalid action!");
}
}
return results;
}
All lessons in Logic & Flow
1Strings In Depth
String FundamentalsIterate Over StringsTemplate LiteralsString MethodsRecap - String Weaver4JSON Part 2
Iterate Over JSONNested JSONJSON Optional ChainingShallow And Deep CopyRecap - Bicycle ShopRecap - Solar System10Manage Festival System
Project OverviewAdd Movies & Venues2Multi-dimensional Arrays
2D Arrays BasicsAccessing 2D Array ElementsNested Loops with 2D ArraysRecap - 2D ArraysMatrix Addition & SubstractionJagged Arrays3D Arrays And BeyondCommon 2D Array PatternsRecap - All About Arrays5Sets Part 1
What Is A Set?Iterating Over SetsAdding An ElementRemoving An ElementChecking If An Element ExistsSize And Is EmptyCopy And ClearRecap - Basic Of Sets8Arrays Interesting Topics
Array DestructuringSpread Syntax in ArraysSparse ArraysRecap - Arrays Workshop3JSON Part 1
What is a JSON?Check If Key ExistsObject MethodsThe Spread Operator Part 1The Spread Operator Part 2Remove KeysRecap - JSON Manipulate Keys