Menu
Coddy logo textTech

프로젝트 개요

Coddy JavaScript 여정의 논리 & 흐름 섹션에 포함된 레슨 — 65개 중 42번째.

challenge icon

챌린지

쉬움

도서 관리 시스템을 만들 것입니다. 제공된 데이터로 시스템을 초기화하고 메인 함수 구조를 생성하는 것부터 시작하세요.

다음의 정확한 초기 데이터를 사용하여 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 배열의 각 액션을 훑어보는 루프를 생성한 다음, 루프 내부에서 다음을 수행하세요:

  1. 모든 결과를 담을 빈 결과 배열을 생성합니다.
  2. 다양한 케이스를 처리할 switch 문을 생성합니다.
  3. switch 문 안에 libraryData 내부의 현재 도서들을 results 배열에 추가하는 printBooks 케이스를 추가합니다.
  4. switch 문 안에 libraryData 내부의 현재 독자들을 results 배열에 추가하는 printReaders 케이스를 추가합니다.
  5. 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;
}

논리 & 흐름의 모든 레슨