Menu
Coddy logo textTech

Resumen - Sistema solar

Parte de la sección Lógica y Flujo del Journey de JavaScript de Coddy — lección 27 de 65.

challenge icon

Desafío

Fácil

Crea una función llamada analyzeSolarSystem que reciba un argumento, una cadena JSON solarSystemData. La cadena JSON contiene información sobre los planetas de nuestro sistema solar. Cada planeta tiene las siguientes propiedades:

  • name (cadena)
  • type (cadena: "rocky" o "gas")
  • numberOfMoons (número)
  • discoveredIn (número, año)
  • surfaceTemperature (objeto con min y max en Celsius)
  • hasRings (booleano)

Tu tarea:

  1. Analizar la cadena JSON para convertirla en un objeto.
  2. Para cada planeta:
    1. Añadir una propiedad classification basada en estas reglas:
      1. Si es un planeta rocoso y surfaceTemperature.max < 50°C: Potentially Habitable
      2. Si es un planeta rocoso y surfaceTemperature.max >= 50°C: Extreme Environment
      3. Si es un planeta gaseoso y numberOfMoons > 10: Complex System
      4. Si es un planeta gaseoso y numberOfMoons <= 10: Simple Gas Giant
    2. Añadir una propiedad ageOfDiscovery que calcule hace cuántos años se descubrió el planeta (desde el año 2010)
    3. Si el planeta tiene anillos y más de 5 lunas, añadir una propiedad specialFeature con el valor Ring System with Rich Moon Population
  3. Devolver el objeto modificado como una cadena JSON.

Ejemplo de entrada: 

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

Pruébalo tú mismo

function analyzeSolarSystem(solarSystemData) {
    // Escribe el código aquí
}
// No escribas nada fuera de la función

Todas las lecciones de Lógica y Flujo