مجموعه ها (Sets)
«مجموعه (Set)» یعنی ظرفی از مقادیر یکتا. «یکتا» یعنی تکراری ها حذف می شوند. نوع مقدار مهم نیست. هم مقدار ساده می گیرد، هم شیء. اینجا با مثال های کوتاه جلو می رویم.
تعریف ساده مجموعه ها (Sets)
می توانیم با آرایه یا خالی بسازیم. سپس با add() عضو اضافه کنیم. اگر عضو تکراری بدهیم، فقط یکی می ماند.
ساخت Set با آرایه
// Create a Set
const letters = new Set(["a", "b", "c"]);
ساخت خالی و افزودن مقدار
// Create a Set
const letters = new Set();
// Add Values to the Set
letters.add("a");
letters.add("b");
letters.add("c");
افزودن متغیرها به Set
// Create a Set
const letters = new Set();
// Create Variables
const a = "a";
const b = "b";
const c = "c";
// Add Variables to the Set
letters.add(a);
letters.add(b);
letters.add(c);
افزودن و جلوگیری از تکرار
با add() عضو می افزاییم. اما عضو تکراری ذخیره نمی شود. این رفتار، یکتا بودن را تضمین می کند.
افزودن اعضای جدید
letters.add("d");
letters.add("e");
نادیده گرفتن تکراری ها
letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
پیمایش مجموعه و نوع آن
با حلقه for..of همه اعضا را می خوانیم. همچنین typeof نتیجه object می دهد و instanceof Set مقدار true می شود.
لیست کردن همه اعضا
// Create a Set
const letters = new Set(["a", "b", "c"]);
// List all Elements
let text = "";
for (const x of letters) {
text += x;
}
بررسی typeof و instanceof
// Assume letters was defined earlier
typeof letters; // Returns object
// Assume letters was defined earlier
letters instanceof Set; // Returns true
گام های تمرینی
- یک Set از اسم هم کلاسی ها بساز.
- اسم تکراری اضافه کن و نتیجه را ببین.
- با for..of همه نام ها را چاپ کن.
- با
typeofوinstanceofنوع را بررسی کن.
نکته: «ES6» یعنی نسخه جدیدتر جاوااسکریپت با امکانات تازه مانند Set.
جمع بندی سریع
- Set فقط اعضای یکتا نگه می دارد.
- با add عضو تازه اضافه می شود.
- اعضای تکراری ذخیره نمی شوند.
- for..of برای پیمایش عالی است.
مرجع نوع دار را هم ببین؛ برای داده های باینری، گزینه های بهتری دارد.
برای ادامه یادگیری متدهای مجموعه ها را بخوان.