## شرح مفصل لـ JS Sets في لغة JavaScript
تُعد مجموعات (Sets) في JavaScript إحدى البُنى الأساسية التي تم تقديمها في ECMAScript 2015 (ES6) كوسيلة لتخزين القيم الفريدة من نوعها. على عكس المصفوفات (Arrays)، لا تسمح الـ Sets بتكرار العناصر، مما يجعلها مثالية للتخزين الفعّال للقيم التي يجب أن تكون فريدة. في هذا المقال، سنقوم بشرح مفصل لمفهوم الـ Sets، كيفية استخدامها، ونعرض أمثلة متعددة لتوضيح استخدامها.
### ما هي الـ Set؟
الـ Set هي عبارة عن مجموعة من القيم الفريدة. يمكن أن تحتوي الـ Set على أي نوع من القيم سواء أكانت أولية (primitive) مثل الأرقام والسلاسل النصية أو كائنات (objects).
### إنشاء Set
يمكن إنشاء Set جديدة باستخدام الكلمة المفتاحية `new Set()` كما يلي:
let mySet = new Set();
كما يمكن تهيئة Set بقيم ابتدائية مباشرة:
let numberSet = new Set([1, 2, 3, 4, 5]);
### إضافة وإزالة العناصر
يمكنك إضافة عناصر إلى الـ Set باستخدام الدالة `add()`، وإزالة العناصر باستخدام الدالة `delete()`:
let mySet = new Set();
mySet.add(1);
mySet.add(5);
mySet.add(1); // لن يتم إضافة العنصر لأنه مكرر
console.log(mySet); // Set(2) { 1, 5 }
mySet.delete(5);
console.log(mySet); // Set(1) { 1 }
### التحقق من وجود عنصر
يمكن التحقق مما إذا كان عنصر ما موجود في الـ Set باستخدام الدالة `has()`:
let mySet = new Set([1, 2, 3]);
console.log(mySet.has(2)); // true
console.log(mySet.has(5)); // false
### الحصول على حجم الـ Set
يمكن معرفة عدد العناصر الموجودة في الـ Set باستخدام الخاصية `size`:
let mySet = new Set([1, 2, 3, 4]);
console.log(mySet.size); // 4
### حذف جميع العناصر
يمكنك حذف جميع العناصر من الـ Set باستخدام الدالة `clear()`:
let mySet = new Set([1, 2, 3, 4]);
mySet.clear();
console.log(mySet.size); // 0
### التكرار عبر عناصر الـ Set
يمكنك استخدام حلقة `for…of` للتكرار عبر عناصر الـ Set:
let mySet = new Set(['apple', 'banana', 'cherry']);
for (let fruit of mySet) {
console.log(fruit);
}
// المخرجات:
// apple
// banana
// cherry
### تحويل Set إلى Array
يمكن تحويل الـ Set إلى مصفوفة باستخدام دالة `Array.from()` أو معامل الانتشار (`…`):
let mySet = new Set([1, 2, 3]);
let myArray = Array.from(mySet);
console.log(myArray); // [1, 2, 3]
// أو
let myArray2 = [...mySet];
console.log(myArray2); // [1, 2, 3]
### استخدامات عملية للـ Set
1. [شركة برمجة مصرية] **إزالة العناصر المكررة من المصفوفات:**
let numbers = [1, 2, 2, 3, 4, 4, 5];
let uniqueNumbers = [...new Set(numbers)];
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
2. **تتبع العناصر الفريدة في تطبيقات الويب:**
يمكن استخدام الـ Set لتتبع العناصر الفريدة مثل معرفات الجلسات أو الرسائل في تطبيقات الويب لضمان عدم تكرارها.
### الخلاصة
تُعتبر الـ Set من الأدوات القوية في JavaScript لإدارة المجموعات الفريدة من القيم. بفضل خصائصها في منع [شركة برمجة مصرية] التكرار وسهولة استخدامها، يمكن أن تكون مفيدة في العديد من السيناريوهات التي تحتاج إلى تخزين بيانات فريدة. من المهم فهم كيفية عمل الـ Sets واستخدامها بشكل فعّال لتحقيق أقصى استفادة منها في مشاريعك البرمجية.
