JavaScript Sets

مجموعهها (Sets) در جاوا اسکریپت
یک Set در جاوا اسکریپت یک شیء داخلی است که مجموعهای از مقادیر یکتا را ذخیره میکند. این مقادیر میتوانند از هر نوعی باشند (اعداد، رشتهها، اشیاء و غیره). Set مقادیر تکراری را ذخیره نمیکند.
ایجاد یک Set
میتوانید با استفاده از سازندهی Set
یک مجموعه ایجاد کنید:
const mySet = new Set();
console.log(mySet); // خروجی: Set(0) {}
یا آن را با مقادیر اولیه مقداردهی کنید:
const mySet = new Set([1, 2, 3, 4, 4]); // مقدار تکراری حذف میشود
console.log(mySet); // خروجی: Set(4) {1, 2, 3, 4}
مثال:
const mySet = new Set();
mySet.add(10);
mySet.add(20);
mySet.add(30);
mySet.add(20); // مقدار تکراری اضافه نمیشود
console.log(mySet.size); // خروجی: 3
console.log(mySet.has(10)); // خروجی: true
mySet.delete(10);
console.log(mySet.has(10)); // خروجی: false
mySet.clear();
console.log(mySet.size); // خروجی: 0
پیمایش یک Set
برای پیمایش مجموعه میتوان از روشهای زیر استفاده کرد:
- forEach()
- حلقه for…of
مثال:
const numbers = new Set([1, 2, 3, 4]);
// استفاده از forEach()
numbers.forEach(value => console.log(value));
// استفاده از for…of
for (let value of numbers) {
console.log(value);
}
تبدیل Set به آرایه
اگر بخواهید یک Set را به آرایه تبدیل کنید، میتوانید از عملگر پخش (...
) یا Array.from()
استفاده کنید:
const mySet = new Set([1, 2, 3, 4]);
const myArray = […mySet]; // یا Array.from(mySet);
console.log(myArray); // خروجی: [1, 2, 3, 4]
موارد استفاده از Set
- حذف مقادیر تکراری از آرایهها:
const numbers = [1, 2, 3, 3, 4, 4, 5];
const uniqueNumbers = […new Set(numbers)];
console.log(uniqueNumbers); // خروجی: [1, 2, 3, 4, 5]
- بررسی سریع وجود یک مقدار (جستجو در
Set
سریعتر ازArray
است). - ذخیره مقادیر یکتا بدون اهمیت به ترتیب آنها.
دیدگاهتان را بنویسید