Menu
CoddyTech

Cari Berdasarkan Judul

Termasuk bagian Logika dan Alur dalam perjalanan JavaScript di Coddy. Pelajaran 44 dari 65.

challenge icon

Tantangan

Mudah

Buat case baru searchByTitle dalam pernyataan switch-mu. Aksi ini harus mencari buku berdasarkan judulnya.

Untuk case searchByTitle:

  1. Parameter currentData adalah string yang digunakan untuk mencari
  2. Buat array kosong searchResults untuk menyimpan hasil pencarian
  3. Telusuri semua buku di library
  4. Untuk setiap buku, periksa apakah judulnya menyertakan string pencarian
  5. Pencarian harus mengabaikan perbedaan huruf besar dan kecil (ubah kedua string menjadi huruf kecil sebelum membandingkannya)
  6. Jika ditemukan kecocokan, tambahkan buku tersebut ke array searchResults
  7. Tambahkan array searchResults ke array utama results

Coba sendiri

// 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;
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler JavaScript online