Повторение — Солнечная система
Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 27 из 65.
Задание
ЛегкоСоздайте функцию с именем analyzeSolarSystem, которая принимает один аргумент — JSON-строку solarSystemData. JSON-строка содержит информацию о планетах нашей солнечной системы. Каждая планета имеет следующие свойства:
name(строка)type(строка: "rocky" или "gas")numberOfMoons(число)discoveredIn(число, год)surfaceTemperature(объект с min и max в градусах Цельсия)hasRings(логическое значение)
Ваша задача:
- Распарсить JSON-строку в объект.
- Для каждой планеты:
- Добавить свойство
classificationна основе следующих правил:- Если это каменистая планета (rocky) и
surfaceTemperature.max< 50°C:Potentially Habitable - Если это каменистая планета (rocky) и
surfaceTemperature.max>= 50°C:Extreme Environment - Если это газовая планета (gas) и
numberOfMoons> 10:Complex System - Если это газовая планета (gas) и
numberOfMoons<= 10:Simple Gas Giant
- Если это каменистая планета (rocky) и
- Добавить свойство
ageOfDiscovery, которое вычисляет, сколько лет назад была открыта планета (относительно2010года) - Если у планеты есть кольца и более 5 лун, добавить свойство
specialFeatureсо значениемRing System with Rich Moon Population
- Добавить свойство
- Вернуть измененный объект в виде JSON-строки.
Пример входных данных:
{
"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
}
]
}Попробуйте сами
function analyzeSolarSystem(solarSystemData) {
// Напишите код здесь
}
// Не пишите ничего вне функцииВсе уроки раздела Логика и поток
1Строки в деталях
Основы работы со строкамиИтерация по строкамШаблонные литералыМетоды строкИтоги — String Weaver4JSON Часть 2
Итерация по JSONВложенный JSONОпциональная цепочка JSONПоверхностное и глубокое копированиеПовторение — Магазин велосипедовПовторение — Солнечная система7Система управления библиотекой
Обзор проектаДобавление книг10Управление системой фестиваля
Обзор проектаДобавление фильмов и площадок2Многомерные массивы
Основы 2D массивовДоступ к элементам 2D массиваВложенные циклы и 2D массивыПовторение: 2D массивыСложение и вычитание матрицСтупенчатые массивы3D массивы и далееРаспространенные паттерны 2D массивовПовторение: всё о массивах5Множества. Часть 1
Что такое множество?Итерация по множествамДобавление элементаУдаление элементаПроверка наличия элементаРазмер и проверка на пустотуКопирование и очисткаИтоги — Основы множеств8Интересные темы о массивах
Деструктуризация массивовСинтаксис Spread в массивахРазреженные массивыИтоги — Воркшоп по массивам3JSON. Часть 1
Что такое JSON?Проверка наличия ключаМетоды объектовОператор spread. Часть 1Оператор spread. Часть 2Удаление ключейПовторение: манипуляции с ключами JSON