Map Reference

🔹 ایجاد یک Map

const myMap = new Map(); myMap.set("name", "Ali"); myMap.set("age", 25); console.log(myMap); // Map(2) {"name" => "Ali", "age" => 25}
  • Map می‌تونه هر نوع داده‌ای (string, number, object, function و …) رو به عنوان کلید داشته باشه.

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

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

مثال:

console.log(myMap.size); // 2

🔹 متدهای اصلی (Methods)

1️⃣ set(key, value)

اضافه یا آپدیت کردن مقدار بر اساس کلید

myMap.set("color", "red"); console.log(myMap); // Map(3) {"name"=>"Ali", "age"=>25, "color"=>"red"}

2️⃣ get(key)

گرفتن مقدار بر اساس کلید

console.log(myMap.get("name")); // "Ali"

3️⃣ has(key)

بررسی وجود کلید

console.log(myMap.has("age")); // true

4️⃣ delete(key)

حذف یک عنصر

myMap.delete("age"); console.log(myMap.has("age")); // false

5️⃣ ()clear

پاک کردن همه عناصر

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

🔹 پیمایش (Iteration)

()forEach

const mp = new Map([ ["a", 1], ["b", 2], ["c", 3] ]); mp.forEach((value, key) => { console.log(key, value); });

for...of

for (let [key, value] of mp) { console.log(key, value); }

🔹 متدهای Iteration (Iterator Methods)

متدتوضیح
keys()لیست کلیدها
values()لیست مقادیر
entries()لیست جفت کلید-مقدار (به صورت [key, value])

مثال:

console.log([...mp.keys()]); // ["a", "b", "c"] console.log([...mp.values()]); // [1, 2, 3] console.log([...mp.entries()]); // [["a",1], ["b",2], ["c",3]]

🎯 تمرین – مرور کامل Map

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript Map Reference</title> </head> <body> <h2>JavaScript Map Reference</h2> <pre id="output"></pre> <script> const output = document.getElementById("output"); const myMap = new Map(); myMap.set("name", "Sara"); myMap.set("age", 22); output.innerText += "size: " + myMap.size + "\n"; output.innerText += "get(name): " + myMap.get("name") + "\n"; myMap.set("age", 23); output.innerText += "after update age: " + myMap.get("age") + "\n"; output.innerText += "has(color)? " + myMap.has("color") + "\n"; myMap.delete("name"); output.innerText += "after delete name, size: " + myMap.size + "\n"; output.innerText += "keys(): " + JSON.stringify([...myMap.keys()]) + "\n"; output.innerText += "values(): " + JSON.stringify([...myMap.values()]) + "\n"; output.innerText += "entries(): " + JSON.stringify([...myMap.entries()]) + "\n"; myMap.clear(); output.innerText += "after clear, size: " + myMap.size + "\n"; </script> </body> </html>

📌 جمع‌بندی

  • Property:

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

  • Methods:

    • set(key, value) → اضافه یا آپدیت کردن

    • get(key) → گرفتن مقدار

    • has(key) → بررسی وجود کلید

    • delete(key) → حذف کلید

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

  • Iteration:

    • forEach(), for...of

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