آموزش نقشه‌های جاوا اسکریپت

javascript maps tutorial
20 آبان 1403

رفقا، اگه دوست دارید دو دو تا چارتا دو دو تاتی کنید، نقشه‌های جاوا اسکریپتی یکی از بهترین و بامزه‌ترین ابزارهاییه که می‌تونید داشته باشید. اینجا می‌خواهیم ببینیم که نقشه‌ها در جاوا اسکریپت چطور کار می‌کنند و چطوری می‌تونیم از اون‌ها استفاده کنیم. با نقشه‌ در جاوا اسکریپت می‌تونید خیلی راحت هر نوع داده‌ای رو به کلید و مقدار (Key-Value) تبدیل کنید.

یه ویژگی خیلی بامزه‌ای که نقشه‌ها دارن اینه که بر خلاف آبجکت‌ها، می‌تونید هر نوع داده‌ای رو به عنوان کلید استفاده کنید. برای مثال، می‌تونید از اعداد، رشته‌ها و حتی آبجکت‌ها به عنوان کلید استفاده کنید. این واقعاً می‌تونه در برنامه‌های واقعی خیلی کارآمد باشه.

استفاده از نقشه‌ها خیلی ساده‌ست. شما اول یه نقشه ایجاد می‌کنید و بعد می‌تونید به راحتی داده‌ها رو به اون اضافه کنید، ازشون استفاده کنید یا حتی حذفشون کنید. همچنین، نقشه‌ها به ترتیب عنصر اضافه شده مرتب میشن که این می‌تونه در بعضی از برنامه‌ها کاربردی باشه.

مثال ساده زیر یه نقشه ایجاد می‌کنه و به شما نشون میده چطور می‌تونید توی اون داده‌ها رو اضافه کنید، بخونید و حذف کنید:


let myMap = new Map();
myMap.set('name', 'Ali');
myMap.set('age', 25);
myMap.set({location: 'Tehran'}, 'Iran');
console.log(myMap.get('name')); // Ali
myMap.delete('age');
console.log(myMap.size); // 2

این کد چه کار می‌کنه؟ با هم بررسیش کنیم:


let myMap = new Map(); - این خط یه نقشه جدید به نام myMap می‌سازه.
myMap.set('name', 'Ali'); - این خط یه کلید به نام 'name' با مقدار 'Ali' به نقشه اضافه می‌کنه.
myMap.set('age', 25); - این خط یه کلید به نام 'age' با مقدار 25 به نقشه اضافه می‌کنه.
myMap.set({location: 'Tehran'}, 'Iran'); - این خط یه کلید از نوع آبجکت اضافه می‌کنه و مقدار 'Iran' رو براش ست می‌کنه.
console.log(myMap.get('name')); - این خط مقدار کلید 'name' رو چاپ می‌کنه که 'Ali' هست.
myMap.delete('age'); - این خط کلید 'age' و مقدارش رو از نقشه حذف می‌کنه.
console.log(myMap.size); - این خط اندازه نقشه رو چاپ می‌کنه که ۲ هست، چون یکی از عناصر رو حذف کردیم.

سوالات متداول

؟

چرا باید از نقشه در جاوااسکریپت استفاده کنم؟

؟

چطور می‌توانم یک کلید را از نقشه حذف کنم؟

؟

تفاوت اصلی بین نقشه و آبجکت چیه؟