添加电影和场馆
本课属于 Coddy JavaScript 学习旅程的“逻辑与流程”单元。第 61 课,共 65 课。
挑战
简单在 switch 语句中新增两个 case:addMovie 和 addVenue。
对于 addMovie,data 参数包含:
- title(字符串)
- director(字符串)
- year(数字)
- mainGenre(字符串)
- secondGenre(字符串)
函数应当:
- 创建一个新的电影对象,其中包含:
- id:将 movies 数组的长度加 1 来生成
- 从 data 中获取 title、director、year、mainGenre 和 secondGenre
- avgRating:0
- available:true
- 将这部电影添加到
festivalData.movies数组中 - 将
Movie added successfully!添加到results数组中
对于 addVenue,data 参数包含:
- name(字符串)
- capacity(数字)
函数应当:
- 创建一个新的场地对象,其中包含:
- id:将 venues 数组的长度加 1 来生成
- 从 data 中获取
name和capacity
- 将该场地添加到
festivalData.venues数组中 - 将
Venue added successfully!添加到results数组中
亲手试试
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;
}逻辑与流程中的所有课
自己练习: JavaScript 在线编译器