Menu
Coddy logo textTech

Verschachteltes JSON

Teil des Abschnitts Logik & Ablauf der JavaScript-Journey von Coddy. Lektion 23 von 65.

Ein JSON-Objekt kann ein weiteres JSON-Objekt in sich enthalten. Es kann unendlich tief verschachtelt sein. Zum Beispiel:

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

Um auf einen verschachtelten Schlüssel zuzugreifen, würden wir schreiben:

userData.user.name
userData.user.address.location
// Und so weiter
challenge icon

Aufgabe

Einfach

Erstelle eine Funktion namens calculateRestaurantBill, die ein JSON-Objekt, das eine Restaurantbestellung darstellt, als Eingabe erhält. Jeder Schlüssel im Objekt ist der Name eines Gerichts, und jeder Wert ist ein weiteres Objekt, das Folgendes enthält:

  • price (Zahl)
  • quantity (Zahl)
  • isSpecialOffer (boolescher Wert) 

Wenn der Wert true ist, gibt es einen Rabatt von 20 % auf dieses Gericht. Die Funktion sollte:

  1. Die Gesamtrechnung berechnen
  2. Alle Rabatte aus Sonderangeboten anwenden

Das zurückgegebene Objekt enthält:

  • totalBeforeDiscount
  • totalDiscount
  • finalTotal

(Alle Werte werden auf 2 Dezimalstellen gerundet.)

Probier es selbst

function calculateRestaurantBill(order) {
    // Code hier schreiben
    
    
    return {
        totalBeforeDiscount: Number(totalBeforeDiscount.toFixed(2)),
        totalDiscount: Number(totalDiscount.toFixed(2)),
        finalTotal: Number(finalTotal.toFixed(2))
    };
}
// Schreiben Sie nichts außerhalb der Funktion
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-JavaScript-Compiler