Menu
Coddy logo textTech

Wiederholung – Sonnensystem

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

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Funktion namens analyzeSolarSystem, die ein Argument entgegennimmt, einen JSON-String solarSystemData. Der JSON-String enthält Informationen über Planeten in unserem Sonnensystem. Jeder Planet hat die folgenden Eigenschaften:

  • name (String)
  • type (String: "rocky" oder "gas")
  • numberOfMoons (Zahl)
  • discoveredIn (Zahl, Jahr)
  • surfaceTemperature (Objekt mit min und max in Celsius)
  • hasRings (Boolean)

Ihre Aufgabe:

  1. Parsen Sie den JSON-String in ein Objekt.
  2. Für jeden Planeten:
    1. Fügen Sie eine Eigenschaft classification basierend auf diesen Regeln hinzu:
      1. Wenn es ein Gesteinsplanet ("rocky") ist und surfaceTemperature.max < 50°C: Potentially Habitable
      2. Wenn es ein Gesteinsplanet ("rocky") ist und surfaceTemperature.max >= 50°C: Extreme Environment
      3. Wenn es ein Gasplanet ("gas") ist und numberOfMoons > 10: Complex System
      4. Wenn es ein Gasplanet ("gas") ist und numberOfMoons <= 10: Simple Gas Giant
    2. Fügen Sie eine Eigenschaft ageOfDiscovery hinzu, die berechnet, vor wie vielen Jahren der Planet entdeckt wurde (ausgehend vom Jahr 2010)
    3. Wenn der Planet Ringe hat und mehr als 5 Monde besitzt, fügen Sie eine Eigenschaft specialFeature mit dem Wert Ring System with Rich Moon Population hinzu
  3. Geben Sie das geänderte Objekt als JSON-String zurück.

Beispiel-Eingabe: 

{
  "planets": [
    {
      "name": "Mars",
      "type": "rocky",
      "numberOfMoons": 2,
      "discoveredIn": -3000,
      "surfaceTemperature": {
        "min": -140,
        "max": 20
      },
      "hasRings": false
    },
    {
      "name": "Saturn",
      "type": "gas",
      "numberOfMoons": 82,
      "discoveredIn": -3000,
      "surfaceTemperature": {
        "min": -178,
        "max": -138
      },
      "hasRings": true
    }
  ]
}

Probier es selbst

function analyzeSolarSystem(solarSystemData) {
    // Hier Code schreiben
}
// Schreiben Sie nichts außerhalb der Funktion

Alle Lektionen in Logik & Ablauf