Menu
CoddyTech

Projeye Genel Bakış

Coddy'nin JavaScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 42 / 65.

challenge icon

Görev

Kolay

Bir kütüphane yönetim sistemi oluşturacaksın. Sistemi verilen verilerle başlatarak ve ana işlevin yapısını oluşturarak işe başla.

Bu tam başlangıç verileriyle libraryData adlı bir değişken oluştur:

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

Şimdi şu adımları izle:

İki parametre alan manageLibrary adlı bir işlev oluştur:

  • actions (dizeler dizisi)
  • data (nesneler dizisi)

İşlev, actions dizisindeki her eylemi sırayla işlemeli ve data dizisindeki aynı dizinde bulunan karşılık gelen veri nesnesini kullanmalıdır. Örneğin, actions[i] konumundaki eylem data[i] konumundaki veriyi kullanır.

actions dizisindeki her eylemi dolaşan bir döngü oluştur, ardından döngünün içinde:

  1. Tüm sonuçları tutacak boş bir sonuç dizisi oluştur
  2. Farklı durumları ele alacak bir switch deyimi oluştur
  3. Switch deyiminin içine, libraryData içindeki mevcut kitapları results dizisine ekleyecek bir printBooks durumu ekle
  4. Switch deyiminin içine, libraryData içindeki mevcut okuyucuları results dizisine ekleyecek bir printReaders durumu ekle
  5. results dizisine “Invalid action!” ekleyen bir varsayılan durum ekle

Kendin dene

// Başlangıç kütüphane verileri
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':
                // Kodunuzu buraya yazın
            case 'printReaders':
                // Kodunuzu buraya yazın
            default:
                results.push("Invalid action!");
        }
    }
    return results;
}

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online JavaScript derleyicisi