0Pricing
JavaScript Academy · درس

أساسيات Map وSet

استخدموا Map للبحث عن قيمة بحسب مفتاح، وSet للقيم الفريدة؛ وكرّروا العناصر وحوّلوها وطبّقوا أنماطًا صغيرة

أساسيات Map وSet درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 3 دروس في المجموع.

لماذا نستخدم Map وSet؟

الهدف: اختيار الحاوية المناسبة.

  • Map: مفتاح→قيمة (أي نوع من المفاتيح)
  • Set: قيم فريدة
  • التكرار والتحويل
  • أنماط يومية صغيرة
أساسيات Map وSet — رسم توضيحي 1

Map: set/get/has

يوفر Map الدوال set وget وhas وdelete وclear، بالإضافة إلى الخاصية size.

// Map: key→value with any key type
const userToScore = new Map();

// set values
userToScore.set("ayla", 10);
userToScore.set("mina", 15);

// read values
console.log("ayla:", userToScore.get("ayla"));
console.log("has lena?", userToScore.has("lena"));

// size
console.log("size:", userToScore.size);
أساسيات Map وSet — رسم توضيحي 2

Set: قيم فريدة

يحتفظ Set بنسخة واحدة فقط من كل قيمة؛ ويتم تجاهل القيم المكررة.

// Set: unique values
const seen = new Set();

// add values (duplicates are ignored)
seen.add("red");
seen.add("blue");
seen.add("red"); // ignored

console.log("size:", seen.size);
console.log("has red?", seen.has("red"));

seen.delete("blue");
console.log("after delete:", seen.size);
أساسيات Map وSet — رسم توضيحي 3

لماذا نفضل Map على Object؟

يحافظ Map على هوية الكائنات عند استخدامها كمفاتيح. أما الكائنات العادية فتحول المفاتيح إلى سلاسل نصية.

// Map can use objects as keys directly
const key1 = { id: 1 };
const key2 = { id: 1 }; // different reference

const map = new Map();
map.set(key1, "A");

console.log("get key1:", map.get(key1));
console.log("get key2:", map.get(key2)); // undefined (different object)

const obj = {};
obj[key1] = "B"; // coerces key to "[object Object]"
console.log("object key:", obj["[object Object]"]);
أساسيات Map وSet — رسم توضيحي 4

التحويلات

أنشئوا مصفوفات فريدة من Set. وابنوا Map من الأزواج وأعيدوه إلى أزواج باستخدام entries().

// Unique array values via Set
const nums = [2, 2, 3, 4, 3];
const unique = Array.from(new Set(nums));
console.log("unique:", unique);

// Map from pairs; back to pairs
const pairs = [["a", 1], ["b", 2]];
const m = new Map(pairs);
console.log("get a:", m.get("a"));
console.log("entries:", Array.from(m.entries()));
أساسيات Map وSet — رسم توضيحي 5

أنماط يجب تذكرها

أنماط صغيرة:

  • استخدموا Map لعدّ التكرارات (مفتاح → رقم).
  • استخدموا Set للتحقق السريع من العضوية.
  • فضّلوا Map عندما لا تكون المفاتيح سلاسل نصية أو عندما تحتاجون إلى ترتيب الإدراج.
أساسيات Map وSet — رسم توضيحي 6

اختبار فرادة Set

تحقق سريع: فرادة القيم.

أساسيات Map وSet — رسم توضيحي 7

مراجعة

مراجعة: اختاروا Map لعمليات البحث عن مفتاح→قيمة، أيًا كان نوع المفتاح، وSet للقيم الفريدة؛ وكرّروا العناصر وحوّلوها باستخدام entries()/Array.from.

أساسيات Map وSet — رسم توضيحي 8

الأسئلة الشائعة

هل درس «أساسيات Map وSet» مجاني؟

نعم — نص درس «أساسيات Map وSet» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 3 دروس في المجموع.

ماذا ستتعلم في «أساسيات Map وSet»؟

استخدموا Map للبحث عن قيمة بحسب مفتاح، وSet للقيم الفريدة؛ وكرّروا العناصر وحوّلوها وطبّقوا أنماطًا صغيرة تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟

لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.

كم من الوقت يستغرق درس «أساسيات Map وSet»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟

نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات Map وSet
  2. WeakMap وWeakSet — خصوصية ومخابئ بسيطة
  3. أنماط التكرار
← العودة إلى JavaScript Academy