Powtórka — Układ Słoneczny
Część sekcji Logika i przepływ programu ścieżki JavaScript w Coddy. Lekcja 27 z 65.
Wyzwanie
ŁatwyUtwórz funkcję o nazwie analyzeSolarSystem, która przyjmuje jeden argument: ciąg JSON solarSystemData. Ciąg JSON zawiera informacje o planetach w naszym Układzie Słonecznym. Każda planeta ma następujące właściwości:
name(ciąg znaków)type(ciąg znaków: "rocky" lub "gas")numberOfMoons(liczba)discoveredIn(liczba, rok)surfaceTemperature(obiekt zawierający min i max w stopniach Celsjusza)hasRings(wartość logiczna)
Twoje zadanie:
- Przeanalizuj ciąg JSON i utwórz z niego obiekt.
- Dla każdej planety:
- Dodaj właściwość
classificationzgodnie z następującymi zasadami:- Jeśli planeta jest skalista, a
surfaceTemperature.max< 50°C:Potentially Habitable - Jeśli planeta jest skalista, a
surfaceTemperature.max>= 50°C:Extreme Environment - Jeśli planeta jest gazowa, a
numberOfMoons> 10:Complex System - Jeśli planeta jest gazowa, a
numberOfMoons<= 10:Simple Gas Giant
- Jeśli planeta jest skalista, a
- Dodaj właściwość
ageOfDiscovery, która oblicza, ile lat temu odkryto planetę (na podstawie roku2010). - Jeśli planeta ma pierścienie i więcej niż 5 księżyców, dodaj właściwość
specialFeatureo wartościRing System with Rich Moon Population.
- Dodaj właściwość
- Zwróć zmodyfikowany obiekt jako ciąg JSON.
Przykładowe dane wejściowe:
{
"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
}
]
}Spróbuj swoich sił
function analyzeSolarSystem(solarSystemData) {
// Napisz kod tutaj
}
// Nie pisz niczego poza funkcjąWszystkie lekcje w sekcji Logika i przepływ programu
1Napisy w praktyce
Podstawy napisówIterowanie po napisachLiterały szablonoweMetody napisówPodsumowanie – mistrz napisów4JSON, część 2
Iterowanie po JSONZagnieżdżony JSONOpcjonalne łańcuchowanie w JSONPłytka i głęboka kopiaPowtórka — sklep rowerowyPowtórka — Układ Słoneczny7System zarządzania biblioteką
Omówienie projektuDodawanie książek10Zarządzanie systemem festiwalowym
Przegląd projektuDodawanie filmów i miejsc2Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DZagnieżdżone pętle z tablicami 2DPowtórka — tablice 2DDodawanie i odejmowanie macierzyTablice nieregularneTablice 3D i większeTypowe wzorce tablic 2DPowtórka — wszystko o tablicach5Zbiory — część 1
Czym jest zbiór?Iterowanie po zbiorachDodawanie elementuUsuwanie elementuSprawdzanie, czy element istniejeRozmiar i sprawdzanie, czy zbiór jest pustyKopiowanie i czyszczeniePodsumowanie — podstawy zbiorów8Ciekawe zagadnienia dotyczące tablic
Destrukturyzacja tablicSkładnia spread w tablicachRzadkie tablicePodsumowanie – warsztaty z tablic3JSON część 1
Czym jest JSON?Sprawdzanie, czy klucz istniejeMetody obiektówOperator spread — część 1Operator spread — część 2Usuwanie kluczyPodsumowanie — manipulowanie kluczami w JSONPoćwicz samodzielnie: Kompilator JavaScript online