Menu
Coddy logo textTech

Wiederholung – Sonnensystem

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

challenge icon

Aufgabe

Einfach

Erstelle 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 Minimum und Maximum in Celsius)
  • hasRings (Boolean)

Deine Aufgabe:

  1. Wandle den JSON-String in ein Objekt um.
  2. Für jeden Planeten:
    1. Füge anhand der folgenden Regeln eine Eigenschaft classification hinzu:
      1. Wenn es sich um einen Gesteinsplaneten handelt und surfaceTemperature.max < 50 °C ist: Potentially Habitable
      2. Wenn es sich um einen Gesteinsplaneten handelt und surfaceTemperature.max >= 50 °C ist: Extreme Environment
      3. Wenn es sich um einen Gasplaneten handelt und numberOfMoons > 10 ist: Complex System
      4. Wenn es sich um einen Gasplaneten handelt und numberOfMoons <= 10 ist: Simple Gas Giant
    2. Füge eine Eigenschaft ageOfDiscovery hinzu, die berechnet, vor wie vielen Jahren der Planet entdeckt wurde (ausgehend vom Jahr 2010).
    3. Wenn der Planet Ringe und mehr als 5 Monde hat, füge eine Eigenschaft specialFeature mit dem Wert Ring System with Rich Moon Population hinzu.
  3. Gib das geänderte Objekt als JSON-String zurück.

Beispieleingabe: 

{
  "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

Übe selbstständig: Online-JavaScript-Compiler