Resumen - Sistema solar
Parte de la sección Lógica y Flujo del Journey de JavaScript de Coddy. Lección 27 de 65.
Desafío
FácilCrea 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:
- Analiza la cadena JSON y conviértela en un objeto.
- Para cada planeta:
- Añade una propiedad
classificationsegún estas reglas:- Si es un planeta rocoso y
surfaceTemperature.max< 50 °C:Potentially Habitable - Si es un planeta rocoso y
surfaceTemperature.max>= 50 °C:Extreme Environment - Si es un planeta gaseoso y
numberOfMoons> 10:Complex System - Si es un planeta gaseoso y
numberOfMoons<= 10:Simple Gas Giant
- Si es un planeta rocoso y
- Añade una propiedad
ageOfDiscoveryque calcule cuántos años atrás se descubrió el planeta (a partir del año2010) - Si el planeta tiene anillos y más de 5 lunas, añade una propiedad
specialFeaturecon el valorRing System with Rich Moon Population
- Añade una propiedad
- 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ónTodas las lecciones de Lógica y Flujo
1Strings en profundidad
Fundamentos de stringsIterar sobre stringsTemplate LiteralsMétodos de stringsResumen - String Weaver4JSON Parte 2
Iterar sobre JSONJSON anidadoEncadenamiento opcional en JSONCopia superficial y profundaResumen - Tienda de bicicletasResumen - Sistema solar7Sistema de Gestión de Biblioteca
Descripción general del proyectoAñadir libros10Gestionar el sistema del festival
Descripción general del proyectoAñadir películas y sedes2Arreglos multidimensionales
Conceptos básicos de arreglos 2DAcceso a elementos de arreglos 2DBucles anidados con arreglos 2DResumen - Arreglos 2DSuma y resta de matricesArreglos irregulares (Jagged Arrays)Arreglos 3D y más alláPatrones comunes en arreglos 2DResumen - Todo sobre arreglos5Conjuntos Parte 1
¿Qué es un conjunto?Iterar sobre conjuntosAñadir un elementoEliminar un elementoComprobar si un elemento existeTamaño y Is EmptyCopy y ClearResumen - Conceptos básicos de conjuntos8Temas interesantes de Arrays
Desestructuración de ArraysSintaxis Spread en ArraysArrays dispersosResumen - Taller de Arrays3JSON Parte 1
¿Qué es un JSON?Comprobar si existe una claveMétodos de objetoEl Spread Operator Parte 1El Spread Operator Parte 2Eliminar clavesResumen - Manipular claves de JSONPractica por tu cuenta: Compilador de JavaScript online