JS Object Sets & Maps المجموعات والخرائط

JavaScript - المجموعات والخرائط (Set & Map)

🔸 Set و Map هما نوعان من الكائنات المتقدمة في JavaScript. Set يُستخدم لتخزين القيم الفريدة فقط، وMap يُستخدم لتخزين أزواج مفتاح:قيمة، مع دعم مفاتيح من أي نوع.

---

🧺 أولًا: Set

🔹 إنشاء Set وإضافة عناصر


const mySet = new Set();

mySet.add("apple");
mySet.add("banana");
mySet.add("apple"); // سيتم تجاهله لأنه مكرر

console.log(mySet); // Set(2) {"apple", "banana"}

🔹 التكرار على Set


for (let item of mySet) {
  console.log(item);
}

🔹 بعض الخصائص والوظائف في Set


mySet.has("apple");  // true
mySet.size;          // 2
mySet.delete("banana");
mySet.clear();       // حذف جميع العناصر
---

🗺️ ثانيًا: Map

🔹 إنشاء Map وإضافة عناصر


const myMap = new Map();

myMap.set("name", "Mahmoud");
myMap.set("age", 41);

console.log(myMap.get("name")); // Mahmoud

🔹 التكرار على Map


for (let [key, value] of myMap) {
  console.log(`${key}: ${value}`);
}

🔹 بعض الخصائص والوظائف في Map


myMap.has("age");   // true
myMap.size;         // 2
myMap.delete("name");
myMap.clear();      // حذف جميع العناصر
---

📌 الفرق بين الكائنات و Map/Set

  • Set: لا يسمح بالتكرار، ولا يخزن أزواج مفتاح:قيمة.
  • Map: يقبل أي نوع كمفتاح (حتى الكائنات أو الدوال).
  • أداء Map و Set أفضل من الكائنات عند التعامل مع عدد كبير من البيانات.
---

✅ متى تستخدم؟

  • استخدم Set عند الحاجة لقائمة فريدة من القيم.
  • استخدم Map عندما تحتاج إلى استخدام مفاتيح من أنواع مختلفة والوصول إليها بسرعة.

تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework