ساختار 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

برای یادگیری عمیق‌تر و مثال‌های پیشرفته‌تر می‌توانید اینجا را دنبال کنید.

تفاوت Set و Array

  1. Set فقط مقادیر منحصر به فرد را ذخیره می‌کند، درحالی که آرایه مقادیر تکراری را می‌پذیرد
  2. عملکرد متد has در Set بسیار سریع‌تر از indexOf یا includes در آرایه است
  3. Set از متدهای مختص به خود مانند union، intersection و difference پشتیبانی می‌کند

در نهایت، انتخاب بین Set و آرایه به نیازهای خاص پروژه بستگی دارد. اگر نیاز به مجموعه‌ای از مقادیر منحصر به فرد دارید یا می‌خواهید وجود یک مقدار را به سرعت بررسی کنید، Set گزینه بهتری خواهد بود.