54- دروس جافا سكربت – JS Map Methods

### شرح مفصل لأساليب الـ Map في JavaScript

تعتبر الـ Map في JavaScript واحدة من الهياكل [شركة برمجة مصرية] البيانات المهمة التي توفر وسيلة فعالة لتخزين أزواج المفتاح والقيمة. على عكس الكائنات (Objects)، فإن الـ Map تحتفظ بترتيب العناصر وفقاً لإدخالها، وتسمح باستخدام أنواع متعددة من البيانات كمفاتيح.

#### إنشاء Map

يمكنك إنشاء كائن Map جديد باستخدام الباني `Map()`:

let myMap = new Map();

#### إضافة عناصر إلى Map

لإضافة عناصر إلى الـ Map، يمكنك استخدام الأسلوب `set(key, value)`:

myMap.set('name', 'Ali');
myMap.set('age', 30);
myMap.set('isStudent', true);

#### الوصول إلى القيم

لاسترجاع قيمة مرتبطة بمفتاح معين، استخدم الأسلوب `get(key)`:

console.log(myMap.get('name')); // Ali
console.log(myMap.get('age')); // 30

#### التحقق من وجود مفتاح

يمكنك التحقق مما إذا كان مفتاح معين موجودًا في الـ Map باستخدام الأسلوب `has(key)`:

console.log(myMap.has('name')); // true
console.log(myMap.has('address')); // false

#### حذف عناصر

لحذف عنصر من الـ Map، استخدم الأسلوب `delete(key)`:

myMap.delete('isStudent');
console.log(myMap.has('isStudent')); // false

#### مسح جميع العناصر

لحذف جميع العناصر من الـ Map، يمكنك استخدام الأسلوب `clear()`:

myMap.clear();
console.log(myMap.size); // 0

#### حجم الـ Map

للحصول على عدد العناصر في الـ Map، يمكنك استخدام الخاصية `size`:

myMap.set('name', 'Ali');
myMap.set('age', 30);
console.log(myMap.size); // 2

#### التكرار عبر عناصر الـ Map

يمكنك التكرار عبر العناصر باستخدام حلقة `for…of`:

myMap.set('name', 'Ali');
myMap.set('age', 30);

for (let [key, value] of myMap) {
    console.log(`${key}: ${value}`);
}
// Output:
// name: Ali
// age: 30

#### تحويل الـ Map إلى Array

يمكنك تحويل الـ Map إلى مصفوفة باستخدام الانتشار أو الأسلوب `Array.from()`:

let mapArray = Array.from(myMap);
console.log(mapArray); // [['name', 'Ali'], ['age', 30]]

#### استخدام أنواع بيانات مختلفة كمفاتيح

واحدة من الميزات القوية للـ Map هي قدرتها على استخدام أنواع بيانات مختلفة كمفاتيح، بما في ذلك الكائنات:

let objKey = {};
myMap.set(objKey, 'Object Value');
console.log(myMap.get(objKey)); // Object Value

### الاستنتاج

توفر الـ Map في JavaScript مرونة أكبر من الكائنات التقليدية [شركة برمجة مصرية] في معالجة أزواج المفتاح والقيمة، وذلك بفضل دعمها لأنواع متعددة من المفاتيح، والحفاظ على ترتيب العناصر. تعتبر الـ Map خياراً ممتازاً عندما تحتاج إلى هيكل بيانات يحتفظ بترتيب الإدخال أو يتعامل مع مفاتيح غير نصية.