プロジェクトの概要
CoddyのJavaScriptジャーニー「論理とフロー」セクションの一部 — レッスン 60/65。
チャレンジ
簡単映画祭管理システムを作成します。提供されたデータでシステムを初期化し、メイン関数の構造を作成することから始めましょう。
以下の正確な初期データを持つ 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()
}2つのパラメータを受け取る manageFestival という関数を作成してください。
- actions (文字列の配列)
- data (オブジェクトの配列)
この関数は以下の処理を行う必要があります。
- actions 配列内の各アクションを順番に処理する
- 空の results 配列を作成する
- 以下の初期ケースを持つ switch 文を作成する:
listMovies:festivalData.moviesをresults配列に追加するlistVenues:festivalData.venuesをresults配列に追加するlistTickets:festivalData.ticketsをresults配列に追加するlistScreenings:festivalData.screeningsをresults配列に追加する- default: "Invalid action!" を results 配列に追加する
- results 配列を返す
自分で試してみよう
const festivalData = {}; // 初期データを入力
function manageFestival(actions, data) {
let results = [];
actions.forEach((action, index) => {
const currentData = data[index];
switch(action) {
case "listMovies":
// ここにコードを記述してください
case "listVenues":
// ここにコードを記述してください
case "listTickets":
// ここにコードを記述してください
case "listScreenings":
// ここにコードを記述してください
default:
results.push("Invalid action!");
}
});
return results;
}