프로젝트 개요
Coddy JavaScript 여정의 논리 & 흐름 섹션에 포함된 레슨 — 65개 중 42번째.
챌린지
쉬움도서 관리 시스템을 만들 것입니다. 제공된 데이터로 시스템을 초기화하고 메인 함수 구조를 생성하는 것부터 시작하세요.
다음의 정확한 초기 데이터를 사용하여 libraryData라는 변수를 생성하세요:
{
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",
}
]
}이제 다음 단계를 따르세요:
두 개의 매개변수를 받는 manageLibrary라는 함수를 생성하세요:
actions(문자열 배열)data(객체 배열)
이 함수는 actions 배열의 각 액션을 순서대로 처리해야 하며, 동일한 인덱스에 있는 data 배열의 해당 데이터 객체를 사용해야 합니다. 예를 들어, actions[i]에 있는 액션은 data[i]에 있는 데이터를 사용합니다.
actions 배열의 각 액션을 훑어보는 루프를 생성한 다음, 루프 내부에서 다음을 수행하세요:
- 모든 결과를 담을 빈 결과 배열을 생성합니다.
- 다양한 케이스를 처리할 switch 문을 생성합니다.
- switch 문 안에
libraryData내부의 현재 도서들을results배열에 추가하는printBooks케이스를 추가합니다. - switch 문 안에
libraryData내부의 현재 독자들을results배열에 추가하는printReaders케이스를 추가합니다. results배열에 "Invalid action!"을 추가하는 default 케이스를 추가합니다.
직접 해보기
// 초기 라이브러리 데이터
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':
// 여기에 코드를 작성하세요
case 'printReaders':
// 여기에 코드를 작성하세요
default:
results.push("Invalid action!");
}
}
return results;
}