×
تدريب — كائن Map في JavaScript (20 سؤال)

🗺️ كائن Map في JavaScript

تعرف على كيفية استخدام كائن الخريطة (Map) لتخزين البيانات بشكل منظم وفعال

🎯 ما ستتعلمه في هذا التدريب

هذا التدريب التفاعلي سيساعدك على إتقان كائن Map في JavaScript من خلال:

  • أسئلة تفاعلية متنوعة تشمل اختيار متعدد، إدخال نصي، وسحب وإفلات
  • ✅ فهم الفرق بين Map و Object ومتى تستخدم كل منهما
  • ✅ إتقان جميع طرق Map: set, get, has, delete, clear
  • ✅ فهم خاصية size وكيفية التكرار على عناصر Map
  • ✅ التعامل مع أنواع المفاتيح المختلفة في Map
  • ✅ إمكانية إعادة التدريب لتحسين مستواك وتعزيز المفاهيم

ما هو كائن Map؟

Map هو كائن في JavaScript يخزن أزواج المفتاح-قيمة (key-value pairs) ويتذكر ترتيب الإدراج الأصلي للمفاتيح.

يمكن استخدام أي قيمة (سواء كانت كائن أو قيمة بدائية) كمفتاح أو كقيمة.

// مثال: إنشاء Map وتخزين بيانات فيه
let userMap = new Map();
userMap.set('name', 'أحمد');
userMap.set('age', 25);
userMap.set('isActive', true);

📦 1️⃣ طرق إنشاء Map

✅ إنشاء Map فارغ:

let myMap = new Map();

✅ إنشاء Map من مصفوفة أزواج:

let myMap = new Map([
  ['name', 'أحمد'],
  ['age', 25],
  ['city', 'القاهرة']
]);

🔄 2️⃣ الفرق بين Map و Object

// Object - المفاتيح تتحول إلى نصوص
let obj = {};
obj[1] = 'رقم'; // يتحول إلى '1'
obj[{}] = 'كائن'; // يتحول إلى '[object Object]'

// Map - يحتفظ بأنواع المفاتيح الأصلية
let map = new Map();
let objKey = {id: 1};
map.set(1, 'رقم'); // المفتاح رقم (number)
map.set(objKey, 'كائن'); // المفتاح كائن (object)
الميزة Object Map
أنواع المفاتيح ❌ String أو Symbol فقط ✅ أي نوع
ترتيب الإدراج ⚠️ غير مضمون ✅ يحتفظ بالترتيب
الحجم (size) ❌ Object.keys(obj).length ✅ خاصية size

⚙️ 3️⃣ طرق Map الأساسية

let map = new Map();

// إضافة عنصر
map.set('name', 'أحمد');

// الحصول على قيمة
let name = map.get('name'); // أحمد

// التحقق من وجود مفتاح
if (map.has('name')) { // true
  console.log('المفتاح موجود');
}

// حذف عنصر
map.delete('name');

// حجم Map
console.log(map.size); // 0

// مسح جميع العناصر
map.clear();

📝 4️⃣ قواعد وإرشادات استخدام Map

💡 متى تستخدم Map؟

  • ✔ عندما تحتاج مفاتيح من أنواع مختلفة (غير نصوص)
  • ✔ عندما تحتاج الاحتفاظ بترتيب الإدراج
  • ✔ عندما تحتاج إضافة وحذف عناصر بشكل متكرر
  • ✔ عندما تحتاج معرفة الحجم بسهولة (size)

🎯 اختر نمط التدريب المناسب لك