Set در JavaScript

JavaScript Set یک مجموعه از ارزش‌های منحصر به فرد است.

هر ارزش در Set فقط یک بار می‌تواند وجود داشته باشد.

ارزش‌ها می‌توانند هر نوعی باشند، ارزش‌های ابتدایی یا شیء.

چگونه Set ایجاد کنیم

می‌توان JavaScript Set را به صورت زیر ایجاد کرد:

  1. آمده به new Set()
  2. یک Set خالی ایجاد کنید و از add() ارزش اضافه کنید.

مетод new Set()

آمده به new Set() کامپایلر:

مثال

// ایجاد یک Set
const letters = new Set(["a","b","c"]);

آزمایش کنید

Set ایجاد کنید و ارزش را اضافه کنید:

مثال

// ایجاد یک Set
const letters = new Set();
// ارزش را به Set اضافه کنید
letters.add("a");
letters.add("b");
letters.add("c");

آزمایش کنید

Set ایجاد کنید و متغیر را اضافه کنید:

مثال

// ایجاد یک Set
const letters = new Set();
// ایجاد متغیر
const a = "a";
const b = "b";
const c = "c";
// متغیر را به 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 تمام عناصر Set را به ترتیب لیست کنید (ارزش‌ها):

مثال

// ایجاد یک Set
const letters = new Set(["a", "b", "c"]);
// لیست همه عناصر
let text = "";
برای (const x از letters) {
  text += x;
}

آزمایش کنید

Set است یک شیء

typeof بازمی‌گردد به object:

typeof letters;      // بازمی‌گردد به object

آزمایش کنید

instanceof Set بازمی‌گردد به true:

letters instanceof Set;  // بازمی‌گردد به true

آزمایش کنید

مرجع کامل Set

برای دسترسی به مرجع کامل، لطفاً به:دستورالعمل JavaScript Set

این دستورالعمل شامل توضیحات و مثال‌های همه ویژگی‌ها و روش‌های Set است.

پشتیبانی مرورگر

Set است ویژگی‌های ES6JavaScript 2015).

از ژوئن 2017، تمام مرورگرهای مدرن از ES6 پشتیبانی می‌کنند:

Chrome Edge Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
مه 2016 آوریل 2017 ژوئن 2017 سپتامبر 2016 ژوئن 2016

اینترنت اکسپلورر پشتیبانی از Set را ندارد.