🎯 طرق الكائن Set في جافاسكريبت: إدارة المجموعات الفريدة بسهولة!

اليوم سنتعلم كيفية استخدام الطرق المختلفة للكائن Set في جافاسكريبت. إذا كنت تتذكر من الدرس السابق، فإن Set هو كائن يسمح لنا بتخزين قيم فريدة من أي نوع. الآن سنتعلم كيف نتفاعل مع هذه المجموعات بطريقة فعالة.


📝 ما هي طرق الكائن Set؟

طرق الكائن Set هي وظائف مدمجة تتيح لنا إضافة عناصر، حذفها، والتحقق من وجودها، والقيام بالعديد من العمليات الأخرى على المجموعات. هذه الطرق تجعل التعامل مع Set سهلاً وقوياً.

// إنشاء Set جديد
let mySet = new Set();

// استخدام الطرق المختلفة على Set
mySet.add("apple");
mySet.add("banana");

🔧 أهم طرق الكائن Set العملية

1. طريقة add() - إضافة عناصر جديدة

تستخدم لإضافة قيمة جديدة إلى المجموعة. إذا كانت القيمة موجودة مسبقاً، فلن تتم إضافتها مرة أخرى (لضمان التفرد).

let fruits = new Set();

// إضافة عناصر إلى المجموعة
fruits.add("orange");
fruits.add("grape");
fruits.add("orange"); // لن تتم إضافته لأنه مكرر

console.log(fruits); // Set(2) {'orange', 'grape'}

2. طريقة delete() - حذف عناصر

تستخدم لإزالة عنصر محدد من المجموعة. ترجع true إذا تم الحذف بنجاح، وfalse إذا لم يكن العنصر موجوداً.

let colors = new Set(["red", "blue", "green"]);

// حذف عنصر موجود
let result1 = colors.delete("blue");
console.log(result1); // true
console.log(colors); // Set(2) {'red', 'green'}

// محاولة حذف عنصر غير موجود
let result2 = colors.delete("yellow");
console.log(result2); // false

3. طريقة has() - التحقق من الوجود

تتحقق مما إذا كانت قيمة معينة موجودة في المجموعة. ترجع true إذا كانت موجودة، وfalse إذا لم تكن.

let numbers = new Set([10, 20, 30]);

// التحقق من وجود عناصر
console.log(numbers.has(20)); // true
console.log(numbers.has(40)); // false

4. طريقة clear() - مسح المجموعة كاملة

تزيل جميع العناصر من المجموعة، تاركة إياها فارغة.

let animals = new Set(["cat", "dog", "bird"]);

console.log(animals.size); // 3

// مسح جميع العناصر
animals.clear();
console.log(animals.size); // 0

📊 خاصية size - معرفة عدد العناصر

ليست طريقة، ولكنها خاصية مهمة جداً تعطينا عدد العناصر في المجموعة.

let languages = new Set(["JavaScript", "Python", "Java", "JavaScript"]);

console.log(languages.size); // 3 (لأن JavaScript مكررة)

🔄 طريقة forEach() - التكرار على العناصر

تسمح لنا بتنفيذ دالة على كل عنصر في المجموعة، بالترتيب الذي تم إدخاله.

let cities = new Set(["Riyadh", "Cairo", "Dubai"]);

// التكرار على كل عنصر في المجموعة
cities.forEach(function(city) {
    console.log("City: " + city);
});

// الناتج:
// City: Riyadh
// City: Cairo
// City: Dubai

💡 مثال تطبيقي شامل

لنرى كيف تعمل هذه الطرق معاً في مثال عملي:

// إنشاء مجموعة للطلاب المسجلين في دورة
let enrolledStudents = new Set();

// تسجيل طلاب جدد
enrolledStudents.add("Ahmed");
enrolledStudents.add("Sara");
enrolledStudents.add("Mohammed");
enrolledStudents.add("Ahmed"); // لن يضيف لأنه مكرر

console.log("عدد الطلاب المسجلين:", enrolledStudents.size); // 3

// التحقق من تسجيل طالب معين
if (enrolledStudents.has("Sara")) {
    console.log("سارة مسجلة في الدورة");
}

// إلغاء تسجيل طالب
enrolledStudents.delete("Mohammed");
console.log("بعد الإلغاء:", enrolledStudents.size); // 2

// عرض جميع الطلاب المسجلين
enrolledStudents.forEach(student => {
    console.log("طالب مسجل: " + student);
});

🎯 خلاصة الدرس

تعلمنا اليوم أهم طرق الكائن Set في جافاسكريبت:

  • add() لإضافة عناصر فريدة
  • delete() لحذف عناصر محددة
  • has() للتحقق من وجود عناصر
  • clear() لمسح المجموعة كاملة
  • forEach() للتكرار على العناصر
  • خاصية size لمعرفة عدد العناصر

هذه الطرق تجعل Set أداة قوية لإدارة المجموعات الفريدة في برامجك.