Menu
CoddyTech

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

جزء من قسم المنطق وتدفق التنفيذ في رحلة JavaScript على Coddy. الدرس 27 من 65.

challenge icon

التحدي

سهل

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

  • name (سلسلة نصية)
  • type (سلسلة نصية: "rocky" أو "gas")
  • numberOfMoons (عدد)
  • discoveredIn (عدد، السنة)
  • surfaceTemperature (كائن يحتوي على الحد الأدنى والحد الأقصى بالدرجة المئوية)
  • 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) {
    // اكتب الكود هنا
}
// لا تكتب أي شيء خارج الدالة

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم JavaScript عبر الإنترنت