Menu
Coddy logo textTech

Powtórka — Układ Słoneczny

Część sekcji Logika i przepływ programu ścieżki JavaScript w Coddy. Lekcja 27 z 65.

challenge icon

Wyzwanie

Łatwy

Utwórz funkcję o nazwie analyzeSolarSystem, która przyjmuje jeden argument: ciąg JSON solarSystemData. Ciąg JSON zawiera informacje o planetach w naszym Układzie Słonecznym. Każda planeta ma następujące właściwości:

  • name (ciąg znaków)
  • type (ciąg znaków: "rocky" lub "gas")
  • numberOfMoons (liczba)
  • discoveredIn (liczba, rok)
  • surfaceTemperature (obiekt zawierający min i max w stopniach Celsjusza)
  • hasRings (wartość logiczna)

Twoje zadanie:

  1. Przeanalizuj ciąg JSON i utwórz z niego obiekt.
  2. Dla każdej planety:
    1. Dodaj właściwość classification zgodnie z następującymi zasadami:
      1. Jeśli planeta jest skalista, a surfaceTemperature.max < 50°C: Potentially Habitable
      2. Jeśli planeta jest skalista, a surfaceTemperature.max >= 50°C: Extreme Environment
      3. Jeśli planeta jest gazowa, a numberOfMoons > 10: Complex System
      4. Jeśli planeta jest gazowa, a numberOfMoons <= 10: Simple Gas Giant
    2. Dodaj właściwość ageOfDiscovery, która oblicza, ile lat temu odkryto planetę (na podstawie roku 2010).
    3. Jeśli planeta ma pierścienie i więcej niż 5 księżyców, dodaj właściwość specialFeature o wartości Ring System with Rich Moon Population.
  3. Zwróć zmodyfikowany obiekt jako ciąg JSON.

Przykładowe dane wejściowe: 

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

Spróbuj swoich sił

function analyzeSolarSystem(solarSystemData) {
    // Napisz kod tutaj
}
// Nie pisz niczego poza funkcją

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator JavaScript online