Set Reference

🔹 ایجاد یک Set

const mySet = new Set(); const nums = new Set([1, 2, 3, 3]); console.log(nums); // Set(3) {1, 2, 3}
  • Set تکراری‌ها رو حذف می‌کنه.

🔹 ویژگی‌ها (Properties)

ویژگیتوضیح
Set.prototype.sizeتعداد عناصر داخل Set رو برمی‌گردونه.

مثال:

const letters = new Set(["a", "b", "c"]); console.log(letters.size); // 3

🔹 متدها (Methods)

1️⃣ add(value)

اضافه کردن عنصر به Set.

const s = new Set(); s.add(1); s.add(2); console.log(s); // Set(2) {1, 2}

2️⃣ delete(value)

حذف یک عنصر از Set.

s.delete(1); console.log(s); // Set(1) {2}

3️⃣ has(value)

بررسی وجود یک عنصر.

console.log(s.has(2)); // true console.log(s.has(3)); // false

4️⃣ ()clear

پاک کردن تمام عناصر.

s.clear(); console.log(s.size); // 0

🔹 پیمایش روی Set

()forEach

const colors = new Set(["red", "green", "blue"]); colors.forEach(c => console.log(c));

for...of

for (let c of colors) { console.log(c); }

🔹 متدهای Iteration (بازگرداندن Iterator)

متدتوضیح
keys()کلیدها (در Set کلید = مقدار).
values()مقادیر مجموعه.
entries()هر مقدار رو به صورت [value, value] برمی‌گردونه (برای سازگاری با Map).

مثال:

const fruits = new Set(["apple", "banana", "cherry"]); console.log([...fruits.keys()]); // ["apple", "banana", "cherry"] console.log([...fruits.values()]); // ["apple", "banana", "cherry"] console.log([...fruits.entries()]); // [["apple", "apple"], ["banana", "banana"], ["cherry", "cherry"]]

🎯 تمرین – مرور کامل متدها

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript Set Reference</title> </head> <body> <h2>JavaScript Set Reference</h2> <pre id="output"></pre> <script> const output = document.getElementById("output"); const mySet = new Set([1, 2, 3]); output.innerText += "size: " + mySet.size + "\n"; mySet.add(4); output.innerText += "after add(4): " + JSON.stringify([...mySet]) + "\n"; mySet.delete(2); output.innerText += "after delete(2): " + JSON.stringify([...mySet]) + "\n"; output.innerText += "has(3)? " + mySet.has(3) + "\n"; output.innerText += "keys(): " + JSON.stringify([...mySet.keys()]) + "\n"; output.innerText += "values(): " + JSON.stringify([...mySet.values()]) + "\n"; output.innerText += "entries(): " + JSON.stringify([...mySet.entries()]) + "\n"; mySet.clear(); output.innerText += "after clear(): size = " + mySet.size + "\n"; </script> </body> </html>

📌 جمع‌بندی

  • Properties:

    • size → تعداد عناصر

  • Methods:

    • add(value) → اضافه کردن

    • delete(value) → حذف کردن

    • has(value) → بررسی وجود

    • clear() → پاک کردن همه

  • Iteration:

    • forEach(), for...of

    • keys(), values(), entries()