ساختار Set در JS
ساختار Set در جاوااسکریپت
در دنیای جاوااسکریپت، Set یکی از ساختارهای دادهای قدرتمند است که برای ذخیره مجموعهای از مقادیر منحصر به فرد استفاده میشود. برخلاف آرایهها، Set اجازه ذخیره مقادیر تکراری را نمیدهد و این ویژگی آن را برای بسیاری از سناریوهای برنامهنویسی ایدهآل میکند.
مزایای استفاده از Set
- حذف خودکار مقادیر تکراری
- عملکرد سریع در بررسی وجود یک مقدار (متد has)
- پشتیبانی از انواع دادههای مختلف (عدد، رشته، شیء و ...)
- امکان تکرار (iterable) با استفاده از حلقههای for...of
نکته مهم: Setها برخلاف آرایهها، اندیس (index) ندارند و نمیتوان با شماره اندیس به عناصر آنها دسترسی داشت.
متدهای اصلی Set
متد | توضیحات |
---|---|
add(value) | اضافه کردن مقدار جدید به Set |
delete(value) | حذف مقدار از Set |
has(value) | بررسی وجود مقدار در Set |
clear() | حذف تمام مقادیر از Set |
مثالهای کاربردی
در اینجا یک نمونه کد ساده برای ایجاد و استفاده از Set را مشاهده میکنید:
const mySet = new Set();
mySet.add(1);
mySet.add(5);
mySet.add("text");
console.log(mySet.size); // 3
mySet.add(1);
mySet.add(5);
mySet.add("text");
console.log(mySet.size); // 3
برای یادگیری عمیقتر و مثالهای پیشرفتهتر میتوانید اینجا را دنبال کنید.
تفاوت Set و Array
- Set فقط مقادیر منحصر به فرد را ذخیره میکند، درحالی که آرایه مقادیر تکراری را میپذیرد
- عملکرد متد has در Set بسیار سریعتر از indexOf یا includes در آرایه است
- Set از متدهای مختص به خود مانند union، intersection و difference پشتیبانی میکند
در نهایت، انتخاب بین Set و آرایه به نیازهای خاص پروژه بستگی دارد. اگر نیاز به مجموعهای از مقادیر منحصر به فرد دارید یا میخواهید وجود یک مقدار را به سرعت بررسی کنید، Set گزینه بهتری خواهد بود.