مقدمه
گاهی در پروژهها نیاز دارید مجموعهای از دادهها را بدون تکرار و به صورت یکتا نگهداری کنید.
مثلاً لیست آیدیهای کاربران یکتا، مجموعه نام رشتهها یا هر نوع مقدار منحصر به فرد. نوع
Set در جاوااسکریپت برای این هدف ساخته شده و از ES6 به بعد به زبان اضافه شده است. با Set
میتوانید مجموعهای از دادهها بسازید که هیچ عنصری دوبار در آن قرار نمیگیرد.
ساخت و افزودن عنصر به Set
نوع Set در جاوااسکریپت یک کالکشن از مقادیر یکتا است که به شما امکان میدهد دادهها را
بدون تکرار ذخیره کنید. این نوع داده برای مدیریت مجموعهای از آیتمها بسیار مناسب است و
عملکردهای مختلفی مانند افزودن، حذف و پیمایش عناصر را پشتیبانی میکند.
ساخت Set
برای ساخت یک Set کافی است سازنده Set را با عملگر new فراخوانی کنید. میتوانید در
ابتدا یک آرایه یا هر کالکشن قابل پیمایش به آن بدهید تا مقادیر یکتا شود:
JAVASCRIPT
let nums = new Set([1, 2, 2, 3]);
console.log(nums);
هر مقدار فقط یکبار در Set قرار میگیرد و مقادیر تکراری حذف میشوند.
افزودن و حذف عناصر
برای افزودن عنصر جدید به Set از متد add و برای حذف عنصر از متد delete استفاده
کنید. برای بررسی وجود عنصر از has و برای پاک کردن کامل مجموعه از clear استفاده
میشود:
JAVASCRIPT
nums.add(4);
nums.delete(1);
console.log(nums.has(2));
nums.clear();
console.log(nums.size);
پیمایش و ویژگیهای Set
نوع Set در جاوااسکریپت دارای ویژگیهای مفیدی است که به شما امکان میدهد به راحتی روی دادهها
پیمایش کنید و عملیات مختلف انجام دهید. این ویژگیها شامل پیمایش، اندازه مجموعه و متدهای
کاربردی دیگر است.
پیمایش Set
با حلقه for...of میتوانید روی عناصر Set پیمایش کنید. همچنین متد forEach برای
انجام عملیات روی هر عنصر وجود دارد. ترتیب عناصر Set بر اساس ترتیب ورود حفظ میشود.
JAVASCRIPT
let unique = new Set(["apple", "banana", "apple"]);
for (let item of unique) {
console.log(item);
}
همچنین، با متد size تعداد عناصر مجموعه را دریافت کنید.
کاربردهای عملی Set
نوع Set برای حذف مقادیر تکراری از یک آرایه، مدیریت دادههای یکتا (مانند لیست نام کاربریهای
ثبتشده) و پیادهسازی الگوریتمهای مجموعهای مانند اشتراک و تفاضل بسیار مناسب است.
کافی است یک آرایه را به Set تبدیل کنید تا همه مقادیر تکراری حذف شوند و یک مجموعه یکتا داشته
باشید:
JAVASCRIPT
let arr = ["a", "b", "a", "c"];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr);
نوع Set یک ابزار عالی برای نگهداری دادههای یکتا در جاوااسکریپت است. با استفاده از Set
میتوانید به سادگی لیستهای منحصر به فرد، حذف تکراریها و پیادهسازی عملیات مجموعهای را در
پروژههای خود داشته باشید.