Ôn tập: Hệ Mặt Trời
Thuộc phần Logic và luồng chương trình trong hành trình JavaScript của Coddy. Bài học 27 trên 65.
Thử thách
DễTạo một hàm (function) có tên analyzeSolarSystem nhận một đối số là chuỗi JSON solarSystemData. Chuỗi JSON này chứa thông tin về các hành tinh trong hệ Mặt Trời của chúng ta. Mỗi hành tinh có các thuộc tính sau:
name(chuỗi)type(chuỗi: "rocky" hoặc "gas")numberOfMoons(số)discoveredIn(số, năm)surfaceTemperature(đối tượng có giá trị tối thiểu và tối đa theo độ C)hasRings(giá trị boolean)
Nhiệm vụ của bạn:
- Phân tích chuỗi JSON thành một đối tượng.
- Với mỗi hành tinh:
- Thêm thuộc tính
classificationdựa trên các quy tắc sau:- Nếu đó là hành tinh đá và
surfaceTemperature.max< 50°C:Potentially Habitable - Nếu đó là hành tinh đá và
surfaceTemperature.max>= 50°C:Extreme Environment - Nếu đó là hành tinh khí và
numberOfMoons> 10:Complex System - Nếu đó là hành tinh khí và
numberOfMoons<= 10:Simple Gas Giant
- Nếu đó là hành tinh đá và
- Thêm thuộc tính
ageOfDiscoveryđể tính số năm kể từ khi hành tinh được phát hiện (tính từ năm2010) - Nếu hành tinh có vành đai và hơn 5 mặt trăng, hãy thêm thuộc tính
specialFeaturevới giá trịRing System with Rich Moon Population
- Thêm thuộc tính
- Trả về đối tượng đã sửa đổi dưới dạng chuỗi JSON.
Đầu vào ví dụ:
{
"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
}
]
}Tự làm thử
function analyzeSolarSystem(solarSystemData) {
// Viết code ở đây
}
// Không viết gì bên ngoài hàmTất cả bài học trong Logic và luồng chương trình
4JSON phần 2
Duyệt qua JSONJSON lồng nhauOptional chaining trong JSONSao chép nông và sâuÔn tập: Cửa hàng xe đạpÔn tập: Hệ Mặt Trời7Hệ thống quản lý thư viện
Tổng quan dự ánThêm sách10Quản lý hệ thống lễ hội
Tổng quan dự ánThêm phim và địa điểm2Mảng nhiều chiều
Kiến thức cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập về mảng 2 chiềuPhép cộng và phép trừ ma trậnMảng không đềuMảng 3 chiều và hơn nữaCác mẫu thường gặp với mảng 2 chiềuÔn tập về mảng3JSON phần 1
JSON là gì?Kiểm tra khóa có tồn tạiPhương thức của đối tượngToán tử spread phần 1Toán tử spread phần 2Xóa khóaÔn tập: thao tác với khóa trong JSONTự luyện tập: Trình biên dịch JavaScript online