Add Movies & Venues
Part of the Logic & Flow section of Coddy's JavaScript journey — lesson 61 of 65.
Challenge
EasyAdd two new cases to your switch statement: addMovie and addVenue.
For addMovie, the data parameter contains:
- title (string)
- director (string)
- year (number)
- mainGenre (string)
- secondGenre (string)
The function should:
- Create a new movie object with:
- id: generate by adding 1 to the length of movies array
- title, director, year, and mainGenre, secondGenre from the data
- avgRating: 0
- available: true
- Add the movie to
festivalData.moviesarray - Add
Movie added successfully!toresultsarray
For addVenue, the data parameter contains:
- name (string)
- capacity (number)
The function should:
- Create a new venue object with:
- id: generate by adding 1 to the length of venues array
nameandcapacityfrom the data
- Add the venue to
festivalData.venuesarray - Add Venue added successfully! to
resultsarray
Try it yourself
const festivalData = {
movies: [{
id: 1,
title: "Inception",
director: "Christopher Nolan",
year: 2010,
mainGenre: "Sci-Fi",
secondGenre: undefined,
avgRating: 0,
available: true
}],
venues: [{
id: 1,
name: "Main Theater",
capacity: 200,
}],
screenings: [{
id: 1,
movieId: 1,
venueId: 1,
date: '2023-10-29',
time: '13:35:00',
availableSeats: 200
}],
tickets: new Set()
}
function manageFestival(actions, data) {
let results = [];
actions.forEach((action, index) => {
const currentData = data[index];
switch(action) {
case "listMovies":
results.push(festivalData.movies);
break;
case "listVenues":
results.push(festivalData.venues);
break;
case "listTickets":
results.push(festivalData.tickets);
break;
case "listScreenings":
results.push(festivalData.screenings);
break;
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