مراجعة - النظام الشمسي
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 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) {
// اكتب الكود هنا
}
// لا تكتب أي شيء خارج الدالةجميع دروس Logic & Flow
1السلاسل النصية بعمق
أساسيات السلاسل النصيةالتكرار عبر السلاسل النصيةTemplate Literalsدوال السلاسل النصيةمراجعة - String Weaver4JSON الجزء الثاني
التكرار عبر JSONJSON المتداخلالتسلسل الاختياري في JSONالنسخ السطحي والعميقمراجعة - متجر الدراجاتمراجعة - النظام الشمسي2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار عبر المجموعاتإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم وهل هي فارغةالنسخ والمسحملخص - أساسيات المجموعات8مواضيع شيقة حول الـ Arrays
تفكيك الـ Arrayاستخدام الـ Spread Syntax في الـ Arraysالـ Sparse Arraysمراجعة - ورشة عمل الـ Arrays3JSON الجزء الأول
ما هو JSON؟التحقق من وجود المفتاحObject MethodsSpread Operator الجزء الأولSpread Operator الجزء الثانيحذف المفاتيحمراجعة - معالجة مفاتيح JSON