Menu
Coddy logo textTech

İç İçe Geçmiş JSON

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

Bir JSON nesnesi, içinde başka bir JSON nesnesi barındırabilir. Sonsuz şekilde iç içe geçebilir. Örneğin:

const userData = {
  "user": {
    "name": "Kim",
    "address": {
      "city": "Springfield",
      "zip": 12345,
      "location": {
        "coordinates": {
          "latitude": 42.1234,
          "longitude": -71.5678
        }
      }
    }
  }
}

İç içe geçmiş bir anahtara erişmek için şöyle yazarız:

userData.user.name
userData.user.address.location
// Ve benzeri
challenge icon

Görev

Kolay

calculateRestaurantBill adında, girdi olarak bir restoran siparişini temsil eden bir JSON nesnesi alan bir işlev oluşturun. Nesnedeki her anahtar bir yemek adıdır ve her değer şunları içeren başka bir nesnedir:

  • price (sayı)
  • quantity (sayı)
  • isSpecialOffer (boolean) 

true ise bu yemekte %20 indirim vardır. İşlev şunları yapmalıdır:

  1. Toplam hesabı hesaplamak
  2. Özel teklif indirimlerini uygulamak

Döndürülen nesne şunları içerir:

  • totalBeforeDiscount
  • totalDiscount
  • finalTotal

(Tüm değerler 2 ondalık basamağa yuvarlanır)

Kendin dene

function calculateRestaurantBill(order) {
    // Kodu buraya yazın
    
    
    return {
        totalBeforeDiscount: Number(totalBeforeDiscount.toFixed(2)),
        totalDiscount: Number(totalDiscount.toFixed(2)),
        finalTotal: Number(finalTotal.toFixed(2))
    };
}
// Fonksiyon dışına hiçbir şey yazmayın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

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

Kendi başına pratik yap: Online JavaScript derleyicisi