复习:太阳系
本课属于 Coddy JavaScript 学习旅程的“逻辑与流程”单元。第 27 课,共 65 课。
挑战
简单创建一个名为 analyzeSolarSystem 的函数,它接收一个参数,即 JSON 字符串 solarSystemData。这个 JSON 字符串包含太阳系中各行星的信息。每颗行星都有以下属性:
name(字符串)type(字符串:"rocky" 或 "gas")numberOfMoons(数字)discoveredIn(数字,年份)surfaceTemperature(对象,包含以摄氏度为单位的 min 和 max)hasRings(布尔值)
你的任务:
- 将 JSON 字符串解析为对象。
- 对每颗行星:
- 根据以下规则添加属性
classification:- 如果是岩石行星,且
surfaceTemperature.max< 50°C:Potentially Habitable - 如果是岩石行星,且
surfaceTemperature.max>= 50°C:Extreme Environment - 如果是气态行星,且
numberOfMoons> 10:Complex System - 如果是气态行星,且
numberOfMoons<= 10:Simple Gas Giant
- 如果是岩石行星,且
- 添加属性
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) {
// 在这里编写代码
}
// 不要在函数外编写任何内容逻辑与流程中的所有课
自己练习: JavaScript 在线编译器