Menu
Coddy logo textTech

제목으로 검색하기

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

challenge icon

챌린지

쉬움

switch 문에 새로운 케이스인 searchByTitle을 생성하세요. 이 액션은 제목으로 도서를 검색해야 합니다.

searchByTitle 케이스의 경우:

  1. currentData 매개변수는 검색할 문자열입니다.
  2. 검색 결과를 저장할 빈 배열 searchResults를 생성합니다.
  3. 라이브러리의 모든 도서를 반복문으로 확인합니다.
  4. 각 도서에 대해 제목이 검색 문자열을 포함하고 있는지 확인합니다.
  5. 검색은 대소문자를 구분하지 않아야 합니다 (비교하기 전에 두 문자열을 모두 소문자로 변환하세요).
  6. 일치하는 항목이 발견되면 해당 도서를 searchResults 배열에 추가합니다.
  7. searchResults 배열을 메인 results 배열에 추가합니다.

직접 해보기

// Initialize library data
const 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",
        }
    ]
};

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':
                results.push(libraryData.books);
                break;
            case 'printReaders':
                results.push(libraryData.readers);
                break;
            case "addBook":
                // Add a new book to the library
                let newBook = {
                    id: libraryData.books.length + 1,
                    title: currentData.title,
                    author: currentData.author,
                    year: currentData.year,
                    genre: currentData.genre,
                    isRead: false,
                    rating: 0,
                    borrowed: false,
                    borrowedBy: "",
                    borrowDate: ""
                };
                libraryData.books.push(newBook);
                results.push("Book added successfully!");
                break;
            default:
                results.push("Invalid action!");
        }
    }
    
    return results;
}

논리 & 흐름의 모든 레슨