Recapitulação - Sistema Solar
Parte da seção Lógica & Fluxo do Journey de JavaScript da Coddy — lição 27 de 65.
Desafio
FácilCrie uma função chamada analyzeSolarSystem que recebe um argumento, uma string JSON solarSystemData. A string JSON contém informações sobre planetas em nosso sistema solar. Cada planeta possui as seguintes propriedades:
name(string)type(string: "rocky" ou "gas")numberOfMoons(número)discoveredIn(número, ano)surfaceTemperature(objeto com min e max em Celsius)hasRings(booleano)
Sua tarefa:
- Analise (parse) a string JSON em um objeto.
- Para cada planeta:
- Adicione uma propriedade
classificationcom base nestas regras:- Se for um planeta rochoso e
surfaceTemperature.max< 50°C:Potentially Habitable - Se for um planeta rochoso e
surfaceTemperature.max>= 50°C:Extreme Environment - Se for um planeta gasoso e
numberOfMoons> 10:Complex System - Se for um planeta gasoso e
numberOfMoons<= 10:Simple Gas Giant
- Se for um planeta rochoso e
- Adicione uma propriedade
ageOfDiscoveryque calcula há quantos anos o planeta foi descoberto (a partir do ano2010) - Se o planeta tiver anéis e mais de 5 luas, adicione uma propriedade
specialFeaturecom o valorRing System with Rich Moon Population
- Adicione uma propriedade
- Retorne o objeto modificado como uma string JSON.
Exemplo 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
}
]
}Experimente você mesmo
function analyzeSolarSystem(solarSystemData) {
// Escreva o código aqui
}
// Não escreva nada fora da funçãoTodas as lições de Lógica & Fluxo
1Strings em Profundidade
Fundamentos de StringsIterar sobre StringsTemplate LiteralsMétodos de StringRecapitulação - String Weaver4JSON Parte 2
Iterar sobre JSONJSON AninhadoEncadeamento Opcional em JSONCópia Rasa e ProfundaRecapitulação - Loja de BicicletasRecapitulação - Sistema Solar7Sistema de Gerenciamento de Biblioteca
Visão Geral do ProjetoAdicionando Livros10Gerenciar Sistema de Festival
Visão Geral do ProjetoAdicionar Filmes e Locais2Arrays Multidimensionais
Fundamentos de Arrays 2DAcessando Elementos de Arrays 2DLoops Aninhados com Arrays 2DRecapitulação - Arrays 2DAdição e Subtração de MatrizesArrays IrregularesArrays 3D e AlémPadrões Comuns de Arrays 2DRecapitulação - Tudo Sobre Arrays5Sets Parte 1
O que é um Set?Iterando sobre SetsAdicionando um elementoRemovendo um elementoVerificando se um elemento existeTamanho e Is EmptyCopy e ClearRecapitulação - O básico de Sets8Tópicos Interessantes sobre Arrays
Desestruturação de ArraysSintaxe Spread em ArraysArrays EsparsosRecapitulação - Workshop de Arrays3JSON Parte 1
O que é um JSON?Verificar se a Chave ExisteMétodos de ObjetoO Spread Operator Parte 1O Spread Operator Parte 2Remover ChavesRecapitulação - Manipular Chaves JSON