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 tome 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 un mínimo y un máximo en grados Celsius)
  • hasRings (booleano)

Tu tarea:

  1. Analiza la cadena JSON y conviértela en un objeto.
  2. Para cada planeta:
    1. Añade una propiedad classification según 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ñade una propiedad ageOfDiscovery que calcule cuántos años atrás se descubrió el planeta (a partir del año 2010)
    3. Si el planeta tiene anillos y más de 5 lunas, añade una propiedad specialFeature con el valor Ring System with Rich Moon Population
  3. Devuelve el objeto modificado como una cadena JSON.

Entrada de ejemplo: 

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

Practica por tu cuenta: Compilador de JavaScript online