آموزش متد ()map و آرایه ها در جاوا اسکریپت

آموزش متد ()map و آرایه ها در جاوا اسکریپت

آموزش متد ()map و آرایه ها در جاوا اسکریپت

JavaScript Map Array | Array Map() Method

توسط : admin
Map مجموعه ای از عناصر JavaScript است که در آن هر عنصر به عنوان یک جفت KV (کلید ، مقدار) ذخیره می شود. این امکان وجود دارد که یک شیء Javascript Map بتواند هم اشیاء و هم مقادیر اولیه را به عنوان کلید یا مقدار نگه دارد. عناصر موجود در یک شی map به ترتیب درج ارائه می شوند.

 

هنگامی که حلقه در map اجرا میشود ، هر جفت کلید و مقدار به همان ترتیبی که درج شده است باز میگردد. یعنی دستور اصلی درج را تکرار می کند.دستور کلی map در جاوا اسکریپت به این شکل میباشد:

new Map([it])

 

در map ، هر شی ، تکرار شده و مقادیر مربوط به آن به عنوان جفت کلید/مقدار به همان شکلی که ذخیره شده اند باز میگردند. اگر آرایه در مپ خالی باشد مقدار null یا undefined بازگشت داده میشود.

 

یادگیری جاوا اسکریپت می تواند زمان قابل توجهی را به خود اختصاص دهد. اگر می خواهید نحوه تسریع روند یادگیری را بیاموزید ، در اینجا نحوه یادگیری سریع جاوا اسکریپت آورده شده است. 

 

مثالی از map در جاوا اسکریپت

var map1 = new Map ([[1, 2], [3, 4], [5, 6], [7, 8]]); /*creates a Map object named map1 with integers as both keys and values*/
console.log(map1.size); /* returns the total number of key-value pairs or elements in a Map object*/
var map2 = new Map ([[“Akhil”, “Bhadwal”], [“Vijay”, “Singh”], [“Swapnil”, “Banga”], [“Saurabh”, “Hooda”]]); /*creates a new Map object named map2 with strings as both keys and values*/
console.log(map2.size);
var map3 = new Map ([[“Akhil”, 4], [“Vijay”, 3], [“Swapnil”, 2], [“Saurabh”, 1]]) /* creates a new Map object named map3 containing strings as keys and integers as values*/
console.log(map3.size);

خروجی :

4
4
4

 

خصوصیات map در جاوا اسکریپت

 

Map.prototype

این دستور نشان دهنده نمونه اولیه برای سازنده Map است. علاوه بر این ، Map.prototype اجازه می دهد تا  خصوصیات به شی Map اضافه شوند. به عبارت دیگر ، برای افزودن خصوصیت یا متد به کلیه اشیاء Map ، می توان از شی نمونه اولیه سازنده استفاده کرد.

 

تمام نمونه های ایجاد شده در map از ویژگی Map.prototype ارث بری میکنند. Map.prototype.constructor تابعی را که نمونه اولیه نمونه map را ایجاد کرده است برمی گرداند.عملکرد map به طور پیش فرض به این شکل است.

 

Map.prototype.size

تعداد کل عناصر یعنی تعداد جفت های کلید/مقدار  در یک شی map را برمی گرداند.

دستور کلی:

some_map.size

 

[Map.prototype[@@toStringTag

دارای مقدار اولیه Map است. اگرچه قابل شمارش و ویرایش نیست، اما این ویژگی قابل تنظیم است.

دستور کلی:

Map[Symbol.toStringTag]

 

[get Map[@@species

برای ایجاد اشیاء مشتق شده استفاده می شود. [Map[@@species سازنده پیش فرض Map را برمی گرداند.به همین ترتیب برای تغییر مقدار سازنده ، سازندگان زیر کلاس ممکن است این خصوصیت را بازنویسی کنند.

دستور کلی:

Map[Symbol.species]

 

 

متدهای map در جاوا اسکریپت

 

(Map.prototype.set(k, v

یک جفت کلید (k) / مقدار (v) را به شی map اضافه می کند و شی map را برمی گرداند.

دستور کلی:

some_map.set(k, v);

مثال :

var a_map = new Map();
a_map.set(“Akhil”, “Bhadwal”);
a_map.set(“Vijay”, “Singh”);
a_map.set(“Swapnil”, “Banga”);
console.log(a_map.size);

خروجی :

3

 

(Map.prototype.has(k

مقدار بولی را برمی گرداند که بستگی دارد که کلید وجود دارد یا خیر. اگر کلید موجود باشد true و اگر نادرست باشد ، false بازگردانده میشود.

دستور کلی:

some_map.has(k);

مثال :

var a_map2 = new Map();
a_map2.set("Akhil", 1);
a_map2.set("Vijay", 2);
a_map2.set("Swapnil", 3);
a_map2.set("Saurabh", 4);
console.log(a_map2.has("Akhil"));
console.log(a_map2.has("Lee"));

خروجی :

true
false

 

(Map.prototype.get(k

مقدار مربوط به کلید ورودی را برمی گرداند. در صورت عدم وجود ارتباط با کلید ، undefined باز می گردد.

 

مثال :

some_map.get(k);
Example:
var a_map3 = new Map ();
a_map3.set("Twenty Two", 22);
a_map3.set("Twenty Four", 24);
a_map3.set("Forty Six", 46);
console.log(a_map3.get("Twenty Two"));
console.log(a_map3.get("Forty Six"));
console.log(a_map3.get("Seventy Two"));

خروجی :

22
46
undefined

 

(Map.prototype.delete(k

کلید و همچنین مقدار مربوط به آن را از آبجکت مشخص شده map حذف می کند. اگر عنصر موجود بوده و  حذف شود ،مقدار true و اگر نتواند مقدار را پیدا کند ، false باز گردانده میشود.

دستور کلی :

some_map.delete(k);

مثال :

var a_map4 = new Map ();
a_map4.set("Y", 25);
a_map4.set("O", 15);
a_map4.set("I", 9);
a_map4.set("B", 2);
console.log(a_map4.size);
console.log(a_map4.delete("O"));
console.log(a_map4.size);
console.log(a_map4.delete("I"));
console.log(a_map4.size);
console.log(a_map4.delete("W"));
console.log(a_map4.size);

خروجی:

4
true
3
true
2
false
2

 

()Map.prototype.clear

تمام عناصر یعنی جفت های کلید/مقدار را از شی مشخص شده JavaScript Map حذف می کند.در این متد هیچ پارامتری لازم نیست.

 

دستور کلی :

some_map.clear();

 

مثال :

var a_map5 = new Map();
a_map5.set(“Twenty Two”, 22);
a_map5.set(“Twenty Four”, 24);
a_map5.set(“Forty Six”, 46);
console.log(a_map5.size);
a_map5.clear();
console.log(a_map5.size);

خروجی:

3
0

 

()Map.prototype.entries

برای هر عنصر موجود در شی map  به ترتیب درج ، یک آرایه جدید را باز میگرداند.این متد به هیچ پارامتری نیاز ندارد.

 

مثال :

some_map.entries();
Example:
var a_map6 = new Map();
a_map6.set(“Akhil”, “Bhadwal”);
a_map6.set(“Lee”, “Meta”);
var iterator = a_map6.entries();
console.log(iterator.next().value);
console.log(iterator.next().value);

خروجی :

Array [“Akhil”, “Bhadwal”]
Array [“Lee”, “Meta”]

 

()Map.prototype.keys

تمام کلیدهای موجود در شی map به ترتیب درج ، باز گردانده میشوند .این متد به هیچ پارامتری نیاز ندارد.

 

دستور کلی :

some_map.keys();

مثال :

var a_map7 = new Map();
a_map7.set(“First Name”, “Akhil”);
a_map7.set(“Second Name”, “Bhadwal”);
a_map7.set(“Designation”, “Freelance Technical Content Writer”);
a_map7.keys();

 

()Map.prototype.values

یک شی تکرارکننده جدید که شامل تمام مقادیر مربوط به Map به ترتیب درج می باشد را باز میگرداند.این متد به هیچ پارامتری نیاز ندارد.

 

دستور کلی :

some_map.values();

 

مثال :

var a_map8 = new Map();
a_map8.set(“First Name”, “Akhil”);
a_map8.set(“Second Name”, “Bhadwal”);
a_map8.set(“Designation”, “Freelance Technical Content Writer”);
a_map8.values();

 

([Map.prototype.forEach(callbackFn[, thisArg

برای هر جفت کلید/مقدار موجود در شی map  به ترتیب درج ، callbackFn (تابع کالبک یا بازگشتی) را صدا می کند. تابع برگشتی دارای سه پارامتر است:

 

  1. کلید عنصر
  2. مقدار عنصر
  3. شئی map

اگر پارامتر thisArg نیز مشخص شود ، از همان مقدار برای هر تابع برگشتی استفاده می شود.

دستور کلی :

some_map.forEach(callbackFn[, thisArg]);

مثال :

function logMapElements(value, key, map) {
 console.log(`m[$] = $`);
}
new Map([[“Akhil”, 3], [“Bhadwal”, {}], [“JavaScript Map”, undefined]])
 .forEach(logMapElements);
خروجی:
"m[Akhil] = 3"
"m[Bhadwal] = [object Object]"
"m[JavaScript Map] = undefined"

 

()[Map.prototype[@@iterator

ک شیء تکرارکننده جدید شامل یک آرایه حاوی کلید/مقدار را برای هر عنصر موجود در شی map  به ترتیب درج باز میگرداند.

 

دستور کلی :

some_map[Symbol.iterator];

مثال :

var a_map10 = new Map();
a_map10.set('Akhil', 'Bhadwal');
a_map10.set(22, 24);
var iterator = a_map10[Symbol.iterator]();
for (let item of iterator) {
console.log(item);

خروجی :

Array ["Akhil", "Bhadwal"]
Array [22, 24]

 

 

JavaScript Map  در برابر JavaScript Objects

یک ابجکت در جاوا اسکریپت تا حد زیادی شبیه map است. به عنوان مثال ، هر دو موجودیت دارای:

  • بررسی اینکه آیا چیزی در یک کلید ذخیره شده است یا خیر
  • حذف کلیدها
  • بازیابی مقادیر با استفاده از کلیدها
  • تنظیم کلیدها برای مقادیر

 

با وجود این شباهت قابل توجه ، سناریوهای مختلفی وجود دارد که استفاده از مپ از یک آبجکت سودمندتر است. این شرایط زمانی ایجاد می شود که:

  • زمانی که تکرار مستقیم لازم است. یک شیء Map بر خلاف Object که همیشه به کلیدها برای تکرار نیاز دارد ،براحتی قابل تکرار است. بدیهی است در ابجکت اگر تعداد کل کلیدها بطور قابل توجهی زیاد باشد می تواند یک کار بسیار وقت گیر باشد.
  • زمانی که افزودن مکرر و یا حذف کلید/مقدار ، مورد نیاز است.
  • حفظ ترتیب برای کلیدها.
  • نیاز به ذخیره کلیدهایی وجود دارد که نه از نوع String و نه از نوع Symbol هستند. در یک شیء JS Map ، کلید می تواند هر نوع مقداری داشته باشد.

با استفاده از ویژگی Map.prototype.size اندازه یک شیء Map را به راحتی می توانید بدست آورید. با این حال ، اندازه گیری اندازه یک نمونه از شی باید به صورت دستی انجام شود.

 

جمع بندی

محتوای این مقاله شامل همه چیز در مورد شی مپ در جاوا اسکریپت بود. مانند آرایه ها ، اشیاء Map نیز می توانند کلون شوند. علاوه بر این ، در صورت لزوم می توان آنها را با آرایه ها ادغام کرد. امیدوارم این مقاله به شما در درک بهتر مپ های جاوا اسکریپت کمک کند.

 

برای بررسی بیشتر و افزایش مهارت خود در جاوا اسکریپت به بخش آموزشهای آنلاین سایت نیلوتک سر بزنید.

نظرات :

در عرض چند دقیقه برای ایجاد حساب

کاربری خود اقدام کنید


اکنون حساب کاربری خود را ایجاد کنید!


ایجاد حساب کاربری

با ثبت نام در نیلوتک از آخرین بروز رسانی های آموزش ها و مقالات سایت مطلع شوید