مقدمه

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

ساخت و افزودن عنصر به Set

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

ساخت Set

برای ساخت یک Set کافی است سازنده Set را با عملگر new فراخوانی کنید. می‌توانید در ابتدا یک آرایه یا هر کالکشن قابل پیمایش به آن بدهید تا مقادیر یکتا شود:

Copy Icon JAVASCRIPT
let nums = new Set([1, 2, 2, 3]);
console.log(nums); // Set {1, 2, 3}

هر مقدار فقط یک‌بار در Set قرار می‌گیرد و مقادیر تکراری حذف می‌شوند.

افزودن و حذف عناصر

برای افزودن عنصر جدید به Set از متد add و برای حذف عنصر از متد delete استفاده کنید. برای بررسی وجود عنصر از has و برای پاک کردن کامل مجموعه از clear استفاده می‌شود:

Copy Icon JAVASCRIPT
nums.add(4);
nums.delete(1);
console.log(nums.has(2)); // true
nums.clear();
console.log(nums.size); // 0

پیمایش و ویژگی‌های Set

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

پیمایش Set

با حلقه for...of می‌توانید روی عناصر Set پیمایش کنید. همچنین متد forEach برای انجام عملیات روی هر عنصر وجود دارد. ترتیب عناصر Set بر اساس ترتیب ورود حفظ می‌شود.

Copy Icon JAVASCRIPT
let unique = new Set(["apple", "banana", "apple"]);
for (let item of unique) {
  console.log(item);
}

همچنین، با متد size تعداد عناصر مجموعه را دریافت کنید.

کاربردهای عملی Set

نوع Set برای حذف مقادیر تکراری از یک آرایه، مدیریت داده‌های یکتا (مانند لیست نام کاربری‌های ثبت‌شده) و پیاده‌سازی الگوریتم‌های مجموعه‌ای مانند اشتراک و تفاضل بسیار مناسب است.

کافی است یک آرایه را به Set تبدیل کنید تا همه مقادیر تکراری حذف شوند و یک مجموعه یکتا داشته باشید:

Copy Icon JAVASCRIPT
let arr = ["a", "b", "a", "c"];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // ["a", "b", "c"]

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