Menu
Coddy logo textTech

Récapitulatif - Système solaire

Fait partie de la section Logique & Flux du Journey JavaScript de Coddy — leçon 27 sur 65.

challenge icon

Défi

Facile

Créez une fonction nommée analyzeSolarSystem qui prend un argument, une chaîne JSON solarSystemData. La chaîne JSON contient des informations sur les planètes de notre système solaire. Chaque planète possède les propriétés suivantes :

  • name (chaîne de caractères)
  • type (chaîne de caractères : "rocky" ou "gas")
  • numberOfMoons (nombre)
  • discoveredIn (nombre, année)
  • surfaceTemperature (objet avec min et max en Celsius)
  • hasRings (booléen)

Votre tâche :

  1. Analysez la chaîne JSON pour la transformer en objet.
  2. Pour chaque planète :
    1. Ajoutez une propriété classification basée sur ces règles :
      1. S'il s'agit d'une planète rocheuse et que surfaceTemperature.max < 50°C : Potentially Habitable
      2. S'il s'agit d'une planète rocheuse et que surfaceTemperature.max >= 50°C : Extreme Environment
      3. S'il s'agit d'une planète gazeuse et que numberOfMoons > 10 : Complex System
      4. S'il s'agit d'une planète gazeuse et que numberOfMoons <= 10 : Simple Gas Giant
    2. Ajoutez une propriété ageOfDiscovery qui calcule il y a combien d'années la planète a été découverte (à partir de l'année 2010)
    3. Si la planète a des anneaux et plus de 5 lunes, ajoutez une propriété specialFeature avec la valeur Ring System with Rich Moon Population
  3. Retournez l'objet modifié sous forme de chaîne JSON.

Exemple d'entrée : 

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

Essayez vous-même

function analyzeSolarSystem(solarSystemData) {
    // Écrivez le code ici
}
// N'écrivez rien en dehors de la fonction

Toutes les leçons de Logique & Flux