JSON المتداخل
جزء من قسم المنطق وتدفق التنفيذ في رحلة JavaScript على Coddy. الدرس 23 من 65.
يمكن لكائن JSON أن يحتوي على كائن JSON آخر بداخله. ويمكن أن يكون متداخلًا بلا حدود. على سبيل المثال:
const userData = {
"user": {
"name": "Kim",
"address": {
"city": "Springfield",
"zip": 12345,
"location": {
"coordinates": {
"latitude": 42.1234,
"longitude": -71.5678
}
}
}
}
}للوصول إلى مفتاح متداخل، سنكتب:
userData.user.name
userData.user.address.location
// وهكذا دواليكالتحدي
سهلأنشئ دالة باسم calculateRestaurantBill تأخذ كمدخل كائن JSON يمثّل طلبًا من مطعم. كل مفتاح في الكائن هو اسم طبق، وكل قيمة هي كائن آخر يحتوي على:
- price (عدد)
- quantity (عدد)
- isSpecialOffer (قيمة منطقية)
إذا كانت القيمة true، فهناك خصم بنسبة 20% على ذلك الطبق. يجب أن تقوم الدالة بما يلي:
- حساب إجمالي الفاتورة
- تطبيق أي خصومات للعروض الخاصة
يحتوي الكائن المُعاد على:
- totalBeforeDiscount
- totalDiscount
- finalTotal
(تُقرَّب جميع القيم إلى منزلتين عشريتين)
جرّب بنفسك
function calculateRestaurantBill(order) {
// اكتب الكود هنا
return {
totalBeforeDiscount: Number(totalBeforeDiscount.toFixed(2)),
totalDiscount: Number(totalDiscount.toFixed(2)),
finalTotal: Number(finalTotal.toFixed(2))
};
}
// لا تكتب أي شيء خارج الدالةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1السلاسل النصية بالتفصيل
أساسيات السلاسل النصيةالتكرار على السلاسل النصيةالقوالب النصيةدوال السلاسل النصيةمراجعة - ناسج السلاسل النصية4JSON الجزء الثاني
التكرار على عناصر JSONJSON المتداخلالتسلسل الاختياري في JSONالنسخ السطحي والعميقمراجعة - متجر الدراجاتمراجعة - النظام الشمسي2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة: المصفوفات ثنائية الأبعادجمع المصفوفات وطرحهاالمصفوفات متعرجة الأبعادالمصفوفات ثلاثية الأبعاد وما بعدهاأنماط شائعة للمصفوفات ثنائية الأبعادمراجعة: كل ما يتعلق بالمصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار على عناصر المجموعةإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم والتحقق من الفراغالنسخ والمسحمراجعة - أساسيات المجموعات8موضوعات شيقة حول المصفوفات
تفكيك المصفوفاتصياغة الانتشار في المصفوفاتالمصفوفات المتناثرةمراجعة - ورشة عمل حول المصفوفات3JSON الجزء 1
ما هو JSON؟التحقق من وجود المفتاحطرق الكائنعامل الانتشار الجزء 1عامل الانتشار الجزء 2حذف المفاتيحمراجعة - معالجة المفاتيح في JSONتدرّب بنفسك: مترجم JavaScript عبر الإنترنت
نسّق أي JSON واستكشفه: مُنسق JSON