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

Previous >    <Next  

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

‎‎نگاشت هاي جاوااسكريپت ترتيب درج كليدهاي اصلي را بخاطردارند، و نبايد تكرارشود.

‎‎متدهاي ضروري نگاشتEssential Map Methods -‎

‎‎متد ‎‎شــرح
new Map() ‎‎يگ نگاشت ايجاد ميكند.
set() ‎‎مقدار كليدي را درنگاشت مشخص ميكند.
get() ‎‎مقدار كليدي را دريافت ميكند.
delete() ‎‎عنصري ازنگاشت را با كليدمشخص حذف ميكند.
has() ‎‎وجود عنصري را باكليد مشخص ، معين‎(return true)‎ ميكند.
forEach() ‎‎تابعي را براي هرزوج نگاشت فراخوان ميكند.
entries() ‎‎يك تكرار پذير‎‎ از زوج نگاشت برگشت ميدهد .

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

‎‎چگونگي ايجاد نگاشتHow to Create Map -‎

‎‎در جاوااسكريپت يك نگاشت را مطابق موارد زير ميتوان ايجادنمود:

‎‎متد‎ new 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)

‎‎متد‎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)

‎‎متد‎get( )

‎‎با متد‎get( )‎ مقدار عنصري از نگاشت را دريافت ميكنيم

‎‎مثال ـ دريافت مقدار عنصري از نگاشت

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

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

‎‎ويژگيsize نگاشت

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

‎‎مثال ـ دريافت تعداد عناصر نگاشت

fruits.size;

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

‎‎متد‎delete()‎

‎‎با متد‎delete()‎‎ ميتوان عنصري از نگاشت ر حذف نمود .

‎‎متال ـ حذف عنصرنگاشت

fruits.delete("apples");

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

‎با متد‎‎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)

‎‎تفاوت بينobjects و Maps در جاوااسكزيپت

‎‎ ‎object‎ ‎Map‎
‎itreable‎ ‎‎واقعي ندارد ‎‎واقعي دارد
‎size‎ ‎‎داراي ويژگي اندازه نيست ‎‎داراي اين ويژگي است
‎key Types‎ ‎‎كليد ها بايد رشته يا سيمبل باشند ‎‎كليد ازهرنوع داده اي ميتواند باشد.
‎Key Oder‎ ‎‎كليدها داراي هيچ ترتيبي نيستند. ‎‎كليد ها داراي ترتيب درج ميباشند.
‎default‎ ‎‎داراي كليد پيش فرضي است ‎‎كليد پيش فرض ندارد.

‎‎متد‎forEach( )

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

‎‎مثال ـ استفاده‎forEach( )‎ براي نگاشت

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

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

‎‎متد‎entries( )

‎با متد‎entries( )‎ ميتوان يك Map را به شئ تكرار پذير از ‎[key,value]‎‎تبديل نمود .

‎‎مثال ـ متد‎entries( )

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

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

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


Previous >    <Next