Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مراجعة - النظام الشمسي

جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 27 من 65.

challenge icon

التحدي

سهل

قم بإنشاء دالة تسمى analyzeSolarSystem تأخذ وسيطاً واحداً، وهو سلسلة JSON نصية تسمى solarSystemData. تحتوي سلسلة JSON على معلومات حول الكواكب في نظامنا الشمسي. كل كوكب لديه الخصائص التالية:

  • name (سلسلة نصية)
  • type (سلسلة نصية: "rocky" أو "gas")
  • numberOfMoons (رقم)
  • discoveredIn (رقم، السنة)
  • surfaceTemperature (كائن يحتوي على min و max بالدرجات المئوية)
  • hasRings (قيمة منطقية)

مهمتك:

  1. تحليل سلسلة JSON النصية وتحويلها إلى كائن.
  2. لكل كوكب:
    1. أضف خاصية classification بناءً على هذه القواعد:
      1. إذا كان كوكباً صخرياً و surfaceTemperature.max < 50°C: Potentially Habitable
      2. إذا كان كوكباً صخرياً و surfaceTemperature.max >= 50°C: Extreme Environment
      3. إذا كان كوكباً غازياً و numberOfMoons > 10: Complex System
      4. إذا كان كوكباً غازياً و numberOfMoons <= 10: Simple Gas Giant
    2. أضف خاصية ageOfDiscovery التي تحسب عدد السنوات التي مرت منذ اكتشاف الكوكب (بدءاً من عام 2010)
    3. إذا كان للكوكب حلقات وأكثر من 5 أقمار، أضف خاصية specialFeature بالقيمة Ring System with Rich Moon Population
  3. إرجاع الكائن المعدل كسلسلة 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) {
    // اكتب الكود هنا
}
// لا تكتب أي شيء خارج الدالة

جميع دروس Logic & Flow