Menu
CoddyTech

Ikhtisar Proyek

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

challenge icon

Tantangan

Mudah

Kamu akan membuat sistem manajemen library. Mulailah dengan menginisialisasi sistem menggunakan data yang diberikan dan membuat struktur fungsi utama.

Buat variabel bernama libraryData dengan data awal yang persis seperti ini:

{
    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",
        }
    ]
}

Sekarang ikuti langkah-langkah berikut:

Buat fungsi bernama manageLibrary yang menerima dua parameter:

  • actions (array berisi string)
  • data (array berisi object)

Fungsi ini harus memproses setiap tindakan dalam array actions secara berurutan, menggunakan object data yang sesuai dari array data pada indeks yang sama. Misalnya, tindakan pada actions[i] menggunakan data pada data[i].

Buat perulangan yang melewati setiap tindakan dalam array actions, lalu di dalam perulangan:

  1. Buat array hasil kosong yang akan menampung semua hasil
  2. Buat pernyataan switch untuk menangani berbagai kasus
  3. Tambahkan kasus printBooks di dalam pernyataan switch yang akan menambahkan buku saat ini di dalam libraryData ke array results
  4. Tambahkan kasus printReaders di dalam pernyataan switch yang akan menambahkan pembaca saat ini di dalam libraryData ke array results
  5. Tambahkan kasus default yang menambahkan “Invalid action!” ke array results

Coba sendiri

// Data awal library
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':
                // Tulis kodemu di sini
            case 'printReaders':
                // Tulis kodemu di sini
            default:
                results.push("Invalid action!");
        }
    }
    return results;
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler JavaScript online