📋 تمارين JSON (30 تمرين)
إنشاء كائن JSON بسيط
أنشئ خريطة تمثل بيانات شخص (اسم، عمر، مدينة) واطبعها.
💡 تلميح
استخدم {} لإنشاء خريطة مع مفاتيح نصية
📝 عرض الحل
الوصول لعناصر JSON
أنشئ كائن منتج واقرأ قيمه بالمفاتيح.
💡 تلميح
استخدم ["مفتاح"] للوصول لقيمة في الخريطة
📝 عرض الحل
إضافة عناصر لكائن
أنشئ كائناً فارغاً وأضف له عناصر.
💡 تلميح
استخدم خريطة["مفتاح"] = قيمة لإضافة عنصر
📝 عرض الحل
مصفوفة كائنات
أنشئ مصفوفة من كائنات تمثل طلاباً.
💡 تلميح
ضع خرائط داخل مصفوفة []
📝 عرض الحل
كائن متداخل
أنشئ كائناً متداخلاً يمثل عنوان شخص.
💡 تلميح
يمكنك وضع خريطة داخل خريطة أخرى
📝 عرض الحل
التحقق من وجود مفتاح
تحقق من وجود مفتاح في كائن قبل قراءته.
💡 تلميح
استخدم عامل "في" للتحقق من وجود مفتاح
📝 عرض الحل
حذف عنصر من كائن
احذف مفتاحاً من كائن واطبع النتيجة.
💡 تلميح
استخدم دالة احذف() لإزالة مفتاح
📝 عرض الحل
عدد عناصر الكائن
احسب عدد العناصر في كائن.
💡 تلميح
استخدم دالة طول() لمعرفة عدد العناصر
📝 عرض الحل
تحويل كائن لنص
حوّل كائناً إلى تمثيل نصي.
💡 تلميح
كرر على مفاتيح الخريطة وابنِ النص
📝 عرض الحل
نسخ كائن
انسخ كائناً إلى كائن جديد.
💡 تلميح
كرر على عناصر الأصل وأضفها للنسخة
📝 عرض الحل
البحث في مصفوفة كائنات
ابحث عن منتج بالاسم في مصفوفة منتجات.
💡 تلميح
كرر على المصفوفة وقارن الاسم
📝 عرض الحل
تصفية كائنات
صفّ المنتجات حسب السعر.
💡 تلميح
أنشئ مصفوفة جديدة وأضف العناصر المطابقة
📝 عرض الحل
دمج كائنين
اكتب دالة تدمج كائنين في كائن واحد.
💡 تلميح
كرر على مفاتيح كلا الكائنين وأضفها للنتيجة
📝 عرض الحل
تحويل مصفوفة لكائن
حوّل مصفوفة أزواج [مفتاح، قيمة] لكائن.
💡 تلميح
كرر على المصفوفة واستخدم العنصر الأول كمفتاح والثاني كقيمة
📝 عرض الحل
مقارنة كائنين
اكتب دالة تقارن كائنين وتعيد الفروقات.
💡 تلميح
قارن المفاتيح والقيم في كلا الاتجاهين
📝 عرض الحل
تجميع حسب خاصية
جمّع مصفوفة كائنات حسب خاصية معينة.
💡 تلميح
أنشئ خريطة جديدة واستخدم التخصص كمفتاح
📝 عرض الحل
ترتيب كائنات
رتّب مصفوفة منتجات حسب السعر تصاعدياً.
💡 تلميح
استخدم خوارزمية ترتيب وقارن بخاصية السعر
📝 عرض الحل
تحويل كائن لمصفوفة
حوّل كائن لمصفوفة أزواج [مفتاح، قيمة].
💡 تلميح
كرر على المفاتيح وأضف مصفوفة فرعية
📝 عرض الحل
عدّاد تكرار
احسب تكرار كل عنصر في مصفوفة وخزّنه في كائن.
💡 تلميح
استخدم خريطة وتحقق من وجود المفتاح قبل الزيادة
📝 عرض الحل
تسطيح كائن متداخل
سطّح كائناً متداخلاً لكائن مسطح بمفاتيح منقطة.
💡 تلميح
كرر على المفاتيح وإذا كانت القيمة خريطة ادمج المفاتيح بنقطة
📝 عرض الحل
محلل نص JSON
اكتب محللاً بسيطاً يقرأ نص JSON ويحوّله لكائن.
💡 تلميح
قسّم النص أولاً بالفاصلة ثم كل زوج بالنقطتين
📝 عرض الحل
مولد نص JSON
اكتب دالة تحوّل كائناً لنص JSON منسق.
💡 تلميح
ابنِ النص يدوياً مع إضافة الأقواس والفواصل
📝 عرض الحل
نظام إعدادات متداخل
اكتب نظام إعدادات يدعم القراءة والكتابة بمسارات منقطة.
💡 تلميح
خزّن الإعدادات في خريطة واستخدم دوال للقراءة والكتابة
📝 عرض الحل
قاعدة بيانات بسيطة
اكتب نظام CRUD بسيط باستخدام مصفوفة كائنات.
💡 تلميح
استخدم مصفوفة لتخزين الكائنات ودوال للعمليات
📝 عرض الحل
نظام سلة تسوق
اكتب نظام سلة تسوق بعمليات إضافة وحذف وحساب المجموع.
💡 تلميح
استخدم مصفوفة كائنات وتحقق من وجود المنتج قبل الإضافة
📝 عرض الحل
محوّل بيانات
اكتب دالة تحوّل مصفوفة كائنات لتنسيق CSV.
💡 تلميح
استخرج المفاتيح كعناوين ثم كرر على البيانات
📝 عرض الحل
نظام أحداث
اكتب نظام أحداث بسيط (publish/subscribe).
💡 تلميح
خزّن المعالجات في خريطة مع مصفوفة لكل حدث
📝 عرض الحل
محقق بيانات (Validator)
اكتب نظام تحقق من صحة بيانات كائن.
💡 تلميح
كرر على القواعد وتحقق من كل شرط
📝 عرض الحل
نظام قوالب
اكتب محرك قوالب بسيط يستبدل {{متغير}} بقيمته.
💡 تلميح
كرر على مفاتيح البيانات واستبدل {{مفتاح}} بالقيمة
📝 عرض الحل
منشئ استعلامات
اكتب منشئ استعلامات بسيط يبني استعلامات من كائنات.
💡 تلميح
ابنِ نص الاستعلام بتكرار مفاتيح وقيم الكائن