Menu
CoddyTech

JSON Bersarang

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

Sebuah object JSON dapat menyimpan object JSON lain di dalamnya. Object tersebut dapat memiliki nesting tanpa batas. Contohnya:

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

Untuk mengakses key bersarang, kita akan menulis:

userData.user.name
userData.user.address.location
// Dan seterusnya
challenge icon

Tantangan

Mudah

Buat fungsi bernama calculateRestaurantBill yang menerima object JSON yang mewakili pesanan restoran sebagai input. Setiap kunci dalam object adalah nama hidangan, dan setiap nilai adalah object lain yang berisi:

  • price (angka)
  • quantity (angka)
  • isSpecialOffer (boolean) 

Jika bernilai true, hidangan tersebut mendapat diskon 20%. Fungsi ini harus:

  1. Menghitung total tagihan
  2. Menerapkan diskon penawaran khusus

Object yang dikembalikan berisi:

  • totalBeforeDiscount
  • totalDiscount
  • finalTotal

(Semua nilai dibulatkan hingga 2 angka di belakang koma)

Coba sendiri

function calculateRestaurantBill(order) {
    // Tulis kodemu di sini
    
    
    return {
        totalBeforeDiscount: Number(totalBeforeDiscount.toFixed(2)),
        totalDiscount: Number(totalDiscount.toFixed(2)),
        finalTotal: Number(finalTotal.toFixed(2))
    };
}
// Jangan tulis apa pun di luar fungsi
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler JavaScript online

Format dan jelajahi JSON apa pun: Pemformat JSON