52- دروس جافا سكربت – JS Set Methods

# شرح مفصل لمجموعة طرق Set في JavaScript

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

## إنشاء Set

يمكنك إنشاء Set باستخدام الكلمة المفتاحية `new Set()`. يمكنك تمرير مصفوفة كمعامل إذا كنت ترغب في تهيئة الـ Set بقيم محددة.

let mySet = new Set();
let initializedSet = new Set([1, 2, 3, 4]);

## الطرق الأساسية لـ Set

### 1. `add(value)`

تُستخدم لإضافة عنصر إلى الـ Set. إذا كان العنصر موجودًا بالفعل، فلن يحدث أي تغيير.

let numbers = new Set();
numbers.add(1);
numbers.add(1); // لن تتم إضافة 1 مرة أخرى
numbers.add(2);
console.log(numbers); // Set { 1, 2 }

### 2. `delete(value)`

تُستخدم لحذف عنصر معين من الـ Set. تعيد `true` إذا تم حذف العنصر و`false` إذا لم يكن العنصر موجودًا.

let fruits = new Set(['apple', 'banana', 'mango']);
fruits.delete('banana'); // true
fruits.delete('pear');   // false
console.log(fruits); // Set { 'apple', 'mango' }

### 3. `has(value)`

تفحص ما إذا كان العنصر موجودًا في الـ Set وتعيد `true` أو `false`.

let colors = new Set(['red', 'green', 'blue']);
console.log(colors.has('green')); // true
console.log(colors.has('yellow')); // false

### 4. `clear()`

تُستخدم لحذف [شركة برمجة مصرية] جميع العناصر من الـ Set.

let cars = new Set(['BMW', 'Toyota', 'Honda']);
cars.clear();
console.log(cars); // Set {}

### 5. `size`

خاصية تُمثل عدد العناصر الموجودة في الـ Set.

let languages = new Set(['JavaScript', 'Python', 'C++']);
console.log(languages.size); // 3

## التكرار عبر Set

يمكنك استخدام طرق مختلفة للتكرار عبر العناصر في الـ Set.

### `forEach`

تسمح لك بالدوران عبر كل عنصر في الـ Set وتنفيذ دالة معينة لكل عنصر.

let beverages = new Set(['tea', 'coffee', 'juice']);
beverages.forEach((value) => {
  console.log(value);
});
// Output:
// tea
// coffee
// juice

### استخدام `for…of`

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

let cities = new Set(['New York', 'Paris', 'London']);
for (let city of cities) {
  console.log(city);
}
// Output:
// New York
// Paris
// London

## التحويل بين Set والمصفوفات

يمكنك بسهولة تحويل Set إلى مصفوفة والعكس باستخدام بعض الطرق المتاحة في JavaScript.

### تحويل Set إلى مصفوفة

let numbersSet = new Set([1, 2, 3]);
let numbersArray = Array.from(numbersSet);
console.log(numbersArray); // [1, 2, 3]

### تحويل مصفوفة إلى Set

let namesArray = ['Alice', 'Bob', 'Alice'];
let namesSet = new Set(namesArray);
console.log(namesSet); // Set { 'Alice', 'Bob' }

## الخاتمة

تُعتبر كائنات الـ Set في JavaScript أداة قوية عندما تحتاج إلى التعامل مع مجموعات من القيم الفريدة. من خلال الطرق التي تناولناها في هذا المقال، يمكنك إضافة وحذف والتحقق من وجود العناصر، بالإضافة إلى التكرار عبر العناصر وتحويلها بين الأشكال المختلفة. إن فهم كيفية استخدام الـ Set [شركة برمجة مصرية] بطريقة فعّالة يمكن أن يساعد في تحسين كفاءة وسلاسة الكود الخاص بك.