‎‎نقشه هاي جاوااسكريپتJavaScript Maps -‎

Previous >    <Next  

‎يك نقشه زوج هاي كليد ومقدار‎(key-‎value)‎ را در خود نگه ميدارد .كليد ميتواند هر ‎نوع داده اي باشد.

‎‎يك نقشه ترتيب درج كليدهاي اصلي را درنظر دارد.

‎‎نقشه داراي يك ويژگي‎size‎ است، كه اندازه نقشه را نشان ميدهد .

‎‎متدهاي نقشهMap Methods -‎

‎‎متدهاي نقشه مطابق جدول زيراست:

‎‎متد ‎‎شــرح متد
new Map( ) ‎‎يك شئ نقشه ايجاد ميكند.
set( ) ‎‎مقداري را براي كليد مشخص تنظيم ميكند.
‎‎get( )‎‎ ‎‎مقدار كليدي در نقشه را برگشت ميدهد.
‎‎clear( )‎‎ ‎‎همه عنصر نقشه را پاك يا حذف ميكند.
‎‎delete( )‎‎ ‎‎عنصري با كليد مشخص از نقشه را حذف ميكند.
‎‎has( )‎‎ ‎‎وجود عنصري با كليد مشخص را كنترل ميكند.درصورت وجودtrue برگشت ميشود .
‎‎forEach( )‎‎ ‎‎براي هر زوج‎(key/value)‎ تابعي را فراخون ميكند.
‎‎entries( )‎‎ ‎‎برگشت شئ تكرار پذير با زوج هاي‎[key,value]‎ عناصرنقشه
‎‎keys( )‎‎ ‎‎برگشت شئ تكرارپذير با كليدهاي نقشه
‎‎values( )‎‎ ‎‎برگشت شئ تكرار پذير با مقادير نقشه

‎‎اشياء نقشه داراي يك ويژگي‎size()‎‎ هستند كه تعدادعناصر آنهارا برگشت ميدهد.

‎‎ايجاد يك نقشهHow to Create a Map -‎

‎‎ميتوانيد يك نقشه مطابق موارد زير ايجاد نمائيد;

‎‎ايجاد نقشهnew Map( ) -‎

‎بار ارسال يك آرايه به سازنده‎new Map( )‎ ميتوانيد يك نقشه ايجاد ‎نمائيد.

‎‎مثال ـ ايجاد نقشه با آرايه

// Create a Map
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

--(go to editor for change code and run)

‎‎متد‎Map.set ()‎

‎‎ميتوان با متد‎set( )‎ عنصري به نقشه اضافه نمود .

‎‎مثال ـ افزودن عنصر به نقشه

// Create a Map
const fruits = new Map();

// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);

--(go to editor for change code and run)

‎‎متد فوق همچنين براي تغيير مقدار عنصر نقشه هم استفاده ميشود.

‎‎مثال ـ تغيير مقدار عنصر نقشه

fruits.set("apples", 200);

--(go to editor for change code and run)

‎‎در صورتيكه عنصر نقشه وجود داشته باشد متد فوق مقدار را تغيير ميدهد.

‎‎متدMap.get()‎ -‎

‎‎متد‎get( )‎ مقدار كليد مشخصي از نقشه را برگشت ميدهد .

‎‎مثال ـ متد‎get( )‎ براي دستري بمقدار عنصري از نقشه

fruits.get("apples");    // Returns 500

--(go to editor for change code and run)

‎‎ويژگي اندازه نقشهMap.size -‎

‎‎ويژگي‎size‎ نقشه تعداد عناصر نقشه رابرگشت ميدهد.

‎‎مثال ـ اندازه نقشه

fruits.size;

--(go to editor for change code and run)

‎‎متدMap.delete()‎ -‎

‎‎متد‎delete( )‎ عنصر مشخصي را از شئ نقشه حذف مي نمايد.

‎‎مثال ـ حذف عنصري از نقشه

fruits.delete("apples");

--(go to editor for change code and run)

‎‎متدMap.clear( ) -‎

‎‎متد‎clear( ) ‎ همه عناصر نقشه را حذف ميكند .

‎‎مثال ـ حذف همه عناصر شئ نقشه

fruits.clear();

--(go to editor for change code and run)

‎‎متدMap.has( ) -‎

‎متد‎has( ) ‎اگر كليد مشخصي در نقشه وجود داشته باشد، true برگشت ‎ميدهد.

‎‎مثال ـ كنترل وجود عنصري در نقشه

fruits.has("apples");

--(go to editor for change code and run)

‎‎مثال ـ اين مثال را اجرا كنيد تا نتيجه حذف را مشاهده كنيد

fruits.delete("apples");
fruits.has("apples");

--(go to editor for change code and run)

‎‎نقشه ها شئ هشتندMaps are Objects -‎

<>‎‎‎

‎‎typeof ‎‎بر روي نقشه نتيجه برگشتيtrue را دارد .

‎‎مثال ـ بررسي نوع نقشه

// Returns object:
typeof fruits;

--(go to editor for change code and run)

‎‎مثال ـ بررسي نمونهfruits با ‎instanceof

// Returns true:
fruits instanceof Map;

--(go to editor for change code and run)

‎‎با توجه بدو مثال بالا نشان ميدهد كهfruits نمونه اي از maps بوده ونوع آن شئ است .

‎‎اشياء جاوااسكريپت در مقابل نقشهJavaScript Objects vs Maps -‎

‎‎احتلاف مابين اشياء جاوااسكريپت ونقشه ها مطابق جدول زيراست:

‎‎شئ جاوااسكريپت ‎‎نقشه
‎‎مستقما تكرار پذير نيستند. ‎‎تكرارپذير مستقيم
‎‎داراي ويژگي‎size‎ نيست ‎‎داراي ويژگي‎size‎ است .
‎‎كليدها بايد رشته يا سيمبل باشند. ‎‎كليد ميتواند هر نوع داده اي باشد.
‎‎كليد ها ترتيب خوبي ندارند. ‎‎كليد ها به ترتيب درج مرتبند.
‎‎داراي كليد پيش فرض است ‎‎كليد پيش فزض ندارد.

‎‎متدMap.forEach( ) -‎

‎متد‎forEach( )‎ براي هر عنصر نقشه با زوج key/value تابعي را ‎فراخوان ميكند.

‎‎مثال ـ متد‎forEach( )‎ براي fruits

// List all entries
let text = "";
fruits.forEach (function(value, key) {
  text += key + ' = ' + value;

--(go to editor for change code and run)

‎‎از متد‎forEach( )‎ ميتوان براي نمايش نقشه استفاده نمود .

‎‎متدMap.entries( ) -‎

‎متد‎entries( ) ‎ شئ تكرار پذيري از زوج هاي ‎[key,value]‎ ‎عناصر نقشه برگشت ميدهد.

‎‎مثال ـ متد‎entries( )‎ روي fruits

// List all entries
let text = "";
for (const x of fruits.entries()) {
  text += x;
}

--(go to editor for change code and run)

‎‎متدMap.keys()‎ -‎

‎متد‎keys( ) ‎ شئ تكرار پذيري از كليدهاي نقشه ‎(key)‎ ‎برگشت ميدهد.

‎‎مثال ـ متد‎keys( )‎ روي fruits

// List all keys
let text = "";
for (const x of fruits.keys()) {
  text += x;
}

--(go to editor for change code and run)

‎‎متدMap.values( ) -‎

‎‎متد‎values( )‎ روي نقشه شئ تكرار پذيري از مقادير نقشه برگشت ميدهد .

‎‎مثال ـ متد‎values( )‎ روي fruits

// List all values
let text = "";
for (const x of fruits.values()) {
  text += x;
}

--(go to editor for change code and run)

‎‎ميتوان از متد‎values( ) ‎ براي محاسبه جمع مقادير نقشه استاده كرد .

‎‎مثال ـ محاسبه جمع مقاديرfruits

// Sum all values
let total = 0;
for (const x of fruits.values()) {
  total += x;
}

--(go to editor for change code and run)

‎‎اشياء بعنوان كليدObjects as Keys -‎

‎‎توانائي استفاده از اشياء به عنوان كليد يكي از ويژگي هاي مهم نقشه است.

‎‎مثال ـ اشياء بعنوان كليد نقشه

// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};

// Create a Map
const fruits = new Map();

// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

--(go to editor for change code and run)

‎‎توجه كنيد كه كليد در شئ‎(apples)‎ است نه رشته ‎(‎"apples‎")

‎‎مثال ـ

fruits.get("apples");  // Returns undefined

--(go to editor for change code and run)

‎‎نقشه ها در تمام مرورگرهاي مهم بجرء اينترنت اكسپلورر پشتيباني ميشود.


Previous >    <Next