نقشه جفت کلید/مقدار یک ساختار داده فوق العاده مفید است. جاوا اسکریپت از دیکشنری ها از طریق نوع Object خود پشتیبانی می کند.
دیکشنری ساختار داده ای است که می توانید از آن برای ذخیره داده ها در برنامه خود استفاده کنید. شما می توانید داده ها را با استفاده از یک جفت کلید-مقدار ذخیره کنید، که به شما امکان می دهد یک مقدار خاص را جستجو و بازیابی کنید.
هنگامی که داده ها را در فرهنگ لغت ذخیره کردید، می توانید اقدامات دیگری مانند تکرار روی هر مورد را انجام دهید. همچنین می توانید بررسی کنید که آیا موردی وجود دارد یا اینکه موردی را که دیگر مورد نیاز نیست حذف کنید.
چگونه یک شی دیکشنری ایجاد کنیم
فرهنگ لغت یکی از بسیاری از ساختارهای داده مهم است که می توانید برای ذخیره داده ها از آن استفاده کنید. شما می توانید فرهنگ لغت در سی شارپ و بسیاری از زبان های برنامه نویسی دیگر ایجاد کنید. همچنین می توانید یک ساختار داده هشمپ معادل در جاوا ایجاد کنید.
هیچ کلمه کلیدی “دیکشنری” وجود ندارد که بتوانید از آن برای ایجاد یک شی دیکشنری در جاوا اسکریپت استفاده کنید. با این حال، می توانید با استفاده از یک شیء عمومی یک فرهنگ لغت ایجاد کنید. در اینجا مثالی از نحوه ایجاد یک فرهنگ لغت خالی با استفاده از کلمه کلیدی “Object” آورده شده است:
let dictionary = new Object();
شما همچنین می توانید یک فرهنگ لغت خالی با استفاده از این نحو مختصر ایجاد کنید:
let emptyDictionary = {};
اگر می خواهید فرهنگ لغت را با مقادیر مقداردهی اولیه کنید، می توانید هر مقدار را در قالب “key: value” اضافه کنید.
با استفاده از مثال زیر، می توانید یک کلید رشته ای به نام “Pidgey” ایجاد کنید و آن را با یک مقدار مرتبط کنید. مقدار یک شی با ویژگی های سن، رنگ و جنسیت حیوان خانگی است.
let petDictionary = {
"Pidgey": { Age: 0.5, Color: "Gray", Gender: "Male" },
"Mocha": { Age: 0.5, Color: "Brown", Gender: "Female" },
};
کلیدها به انواع داده های رشته ای محدود نمی شوند. می توانید از انواع داده های دیگر مانند اعداد یا مقادیر بولی استفاده کنید.
let wcDictionary = {
1: { Team: "Argentina" },
2: { Team: "France" },
};
let dictBool = {
true: { Message: "Confirmed" },
false: { Message: "Denied" },
};
نحوه اضافه کردن مقادیر به شی دیکشنری
با استفاده از این قالب می توانید موارد جدیدی را به فرهنگ لغت اضافه کنید:
dictionary[new_key] = new_value
new_key می تواند هر مقدار کلیدی معتبری به انتخاب شما باشد. این کلیدی است که بعداً هنگامی که می خواهید به آن مورد خاص در فرهنگ لغت دسترسی داشته باشید از آن استفاده خواهید کرد. new_value می تواند هر شی یا مقداری باشد که می خواهید با کلید مرتبط کنید.
این نمونه ای از این است که چگونه می توانید یک مورد جدید را با استفاده از مقادیر مثال به یک فرهنگ لغت اضافه کنید:
petDictionary["Apples"] = { Age: 2, Color: "Green", Gender: "Male" };
درست مانند هنگام مقداردهی اولیه، می توانید از انواع داده های دیگر نیز برای نمایش کلید استفاده کنید:
wcDictionary[3] = { Team: "Morocco" };
نحوه دسترسی به مقادیر بر اساس کلید
می توانید با استفاده از مقدار کلیدی آن به یک مقدار از فرهنگ لغت دسترسی پیدا کنید:
let dictionaryValue = petDictionary["Mocha"];
console.log(dictionaryValue);
مقدار بازگشتی شامل کل شی یا مقدار ذخیره شده برای آن کلید خواهد بود:
نحوه تکرار روی هر مورد در فرهنگ لغت
میتوانید با استفاده از روش Object.keys() روی هر مورد در فرهنگ لغت تکرار کنید. متد Object.Keys() آرایه ای را برمی گرداند که شامل تمام کلیدهای استفاده شده در دیکشنری است:
console.log(Object.keys(petDictionary));
در کنسول خود، باید آرایه ای را مشاهده کنید که شامل تمام کلیدهای فرهنگ لغت است:
میتوانید از فهرست کلیدها برای چرخش در هر مورد در فرهنگ لغت استفاده کنید و مقدار هر کلید را بازیابی کنید:
for (const key of Object.keys(petDictionary)) {
console.log(key + ": ");
console.log(petDictionary[key]);
};
با نتایج زیر در کنسول شما:
چگونه بررسی کنیم که آیا یک مورد در فرهنگ لغت وجود دارد یا خیر
با استفاده از کلمه کلیدی “in” می توانید بررسی کنید که آیا کلیدی در فرهنگ لغت وجود دارد:
let inDictionary = 'Mocha' in petDictionary; // returns true
let notInDictionary = 'a' in petDictionary; // returns false
همچنین می توانید از متد hasOwnProperty() برای بررسی وجود آیتم استفاده کنید:
let exists = petDictionary.hasOwnProperty('Mocha'); // returns true
let doesNotExist = petDictionary.hasOwnProperty('a'); // returns false
نحوه حذف یک مقدار از دیکشنری
شما می توانید یک مورد را به null تنظیم کنید تا نشان دهد که هیچ ارزشی ندارد:
petDictionary['Apples'] = null;
با این حال، آن مورد همچنان در فرهنگ لغت وجود دارد. اگر می خواهید مورد را به طور کامل حذف کنید، می توانید آن را با استفاده از کلمه کلیدی “حذف” حذف کنید:
delete petDictionary['Apples'];
ذخیره سازی داده ها در دیکشنری ها در جاوا اسکریپت
جاوا اسکریپت از دیکشنری ها پشتیبانی درجه یک ندارد، اما می توانید از یک Object ساده برای ذخیره جفت های کلید/مقدار استفاده کنید.
دیکشنری یک ساختار داده بسیار قدرتمند است که می توانید از آن برای ذخیره و دسترسی به داده ها با استفاده از کلیدها استفاده کنید. فرهنگ لغت تنها جایی نیست که میتوانید دادهها را ذخیره کنید، بنابراین میتوانید ساختارهای داده دیگری را که میتوانند مناسبتر مورد استفاده شما باشند، کشف کنید.