نحوه استفاده از دیکشنری جاوا اسکریپت مانند یک حرفه ای

اگر به دنبال راه حلی برای ذخیره جفت های کلید-مقدار خود مانند تنظیمات و جستجوی داده ها هستید، یک فرهنگ لغت جاوا اسکریپت انتخاب مناسبی برای شما است!
فرهنگ لغت یک ساختار داده است که داده ها را در جفت های کلید-مقدار ذخیره می کند. برای ذخیره و بازیابی داده ها به روشی کارآمد استفاده می شود. فرهنگ لغت جاوا اسکریپت به شما امکان می دهد داده ها را با استفاده از جفت های کلید-مقدار ذخیره و بازیابی کنید. برخلاف آرایهها که دادهها را به ترتیب خطی ذخیره میکنند، دیکشنریهای جاوا اسکریپت به شما اجازه میدهند با استفاده از یک کلید منحصر به فرد به جای فهرست، به دادهها دسترسی پیدا کنید. این دیکشنری ها را برای ذخیره داده هایی ایده آل می کند که باید سریع و آسان در دسترس باشند، مانند پایگاه داده کاربر یا لیست محصولات.
در این پست وبلاگ موارد زیر را بررسی خواهیم کرد:
- یک دیکشنری به 3 روش مختلف ایجاد کنید
- جفت ارزش کلید را به فرهنگ لغت اضافه کنید
- مقدار یک کلید را به روز کنید
- دسترسی به موارد از فرهنگ لغت
- تکرار بیش از یک فرهنگ لغت با 3 رویکرد مختلف
- همه کلیدهای فرهنگ لغت را دریافت کنید
- همه مقادیر را از یک فرهنگ لغت دریافت کنید
- طول کلیدهای فرهنگ لغت را دریافت کنید
- بررسی کنید که آیا کلیدی در فرهنگ لغت وجود دارد یا خیر
- یک مورد را از فرهنگ لغت حذف کنید
بیایید عمیق شیرجه بزنیم.
ایجاد دیکشنری در جاوا اسکریپت
برخلاف سایر زبان های برنامه نویسی قوی تایپ شده مانند C# و جاوا، جاوا اسکریپت هیچ نوع داده بومی دیکشنری ندارد. با این حال، ما می توانیم انواع دیکشنری سفارشی از اشیاء جاوا اسکریپت را ایجاد کنیم. فرهنگ لغت به شما امکان می دهد داده ها را در قالب کلید-مقدار ذخیره کنید.
راه های مختلفی برای ایجاد فرهنگ لغت در جاوا اسکریپت وجود دارد. در این پست وبلاگ، 3 رویکرد مختلف را مشاهده خواهیم کرد:
1. استفاده از نماد تحت اللفظی شی
استفاده از شی لفظی رایج ترین و ساده ترین راه برای ایجاد فرهنگ لغت است. می توانید با استفاده از { } یک فرهنگ لغت خالی ایجاد کنید یا با استفاده از نحو تحت اللفظی شی، جفت های کلید-مقدار به آن اضافه کنید.
در اینجا یک نمونه فرهنگ لغت جاوا اسکریپت آمده است:
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
console.log(languages)
// Output: { EN: 'English', ES: 'Spanish', TA: 'Tamil' }
2. با استفاده از شی () Map
Map() یکی از انواع داده های غیر ابتدایی در جاوا اسکریپت است. با استفاده از شی Map() می توانید دیکشنری ایجاد کنید که هر نوع مقداری را در خود جای دهد. با استفاده از Map() جدید می توانید یک نقشه خالی ایجاد کنید. با استفاده از متد set() می توانید جفت های کلید-مقدار را به نقشه اضافه کنید.
به عنوان مثال، با استفاده از شی Map() یک فرهنگ لغت ایجاد کنید:
const languages = new Map()
languages.set('EN', 'English');
languages.set('ES', 'Spanish');
languages.set('TA', 'Tamil');
نه فقط با رشته جاوا اسکریپت، می توانید از هر نوع به عنوان مقدار در فرهنگ لغت همانطور که در مثال زیر نشان داده شده است استفاده کنید:
// Empty dictionary object
let lookupData = {}
// Dictionary with single key-value pair
let name = { "name": "John Doe" }
// Dictionary with multiple key-value pairs
let person = { "name": "John Doe", "age": 25 }
// Dictionary with numeric keys
let days = { 1: "Monday", 2: "Tuesday", 3: "Wednesday" }
// Dictionary with boolean values
let status = { "isActive": true, "hasAccess": false }
// Nested dictionary object
let people = { "person": { "name": "John Doe", "age": 25 } }
// Dictionary with array as value
let fruits = { "fruits": ["apple", "banana", "orange"] }
// Dictionary with function as value
let functions = { "calculate": function (a, b) { return a + b; } }
// Dictionary with undefined and null values
let edgeCases = { "name": undefined, "age": null }
3. با استفاده از روش Object.create()
این روش به شما این امکان را می دهد که با به ارث بردن خواص از یک شی دیگر، یک دیکشنری ایجاد کنید.
مثلا:
let languages = Object.create({});
languages.EN = 'English';
languages.ES = 'Spanish';
languages.TA = 'Tamil';
console.log(languages)
اگرچه میتوانیم دیکشنریهای جاوا اسکریپت را به روشهای مختلف ایجاد کنیم، من اولین راه را برای ایجاد فرهنگ لغت در این مقاله دنبال کردم. بیایید روش های مختلف فرهنگ لغت جاوا اسکریپت را برای دستکاری آن بررسی کنیم.
من به شما توصیه می کنم برای ایجاد یک فرهنگ لغت در بین کدهای برنامه، از همین روش و یکسان پیروی کنید.
افزودن جفت کلید-مقدار به فرهنگ لغت
بنابراین دیکشنری ایجاد می شود، بیایید ببینیم چگونه جفت های کلید-مقدار را از فرهنگ لغت اضافه، اصلاح و حذف کنیم. نام کلید باید در فرهنگ لغت منحصر به فرد باشد. البته اسامی کلیدها به حروف بزرگ و کوچک حساس هستند.
با استفاده از علامت کروشه مربع می توانید موارد را به فرهنگ لغت اضافه کنید. اگر فرهنگ لغت خود را با استفاده از متد Map() ایجاد کرده اید، می توانید از متد set() استفاده کنید.
به عنوان مثال، مثال زیر نحوه اضافه کردن جفت کلید-مقدار جدید را با استفاده از نماد براکت نشان می دهد:
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
languages['FR'] = 'French'
console.log(languages)
// Output: { EN: 'English', ES: 'Spanish', TA: 'Tamil', FR: 'French' }
می توانید از نمادهای نقطه زیر نیز برای اضافه کردن جفت کلید-مقدار استفاده کنید:
به روز رسانی مقدار کلید فرهنگ لغت
با استفاده از روش علامت گذاری براکت یا نقطه می توانید مقدار را در فرهنگ لغت به روز کنید. مثلا:
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
languages['EN'] = 'English (US)'
console.log(languages)
// Output: { EN: 'English (US)', ES: 'Spanish', TA: 'Tamil' }
در این مثال، مقدار “English” با مقدار “English (US)” با استفاده از کلید منحصر به فرد “EN” به روز می شود.
به موارد فرهنگ لغت در جاوا اسکریپت دسترسی پیدا کنید
شما می توانید با استفاده از علامت کروشه مربع، متد get() (اگر با استفاده از متد Map() ایجاد شده باشد)، for…in loop یا for…of به جفت های کلید-مقدار ذخیره شده در فرهنگ لغت دسترسی داشته باشید.
شی دیکشنری زیر برای نشان دادن مثال تکرار دیکشنری استفاده می شود:
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
// Read dictionary value using key
console.log(languages['ES'])
// Output: "Spanish"
می توانید از روش ها و ویژگی های فرهنگ لغت جاوا اسکریپت زیر برای دستکاری شی دیکشنری استفاده کنید.
تکرار روی فرهنگ لغت
از آنجایی که فرهنگ لغت با Object ساخته شده است، ما می توانیم به سرعت از طریق کلیدهای آن تکرار کنیم. راه های زیادی برای تکرار روی شی دیکشنری وجود دارد. هر روشی مزایا و معایب خاص خود را دارد.
در این قسمت به 3 روش برای تکرار از طریق شی دیکشنری می پردازیم.
1. استفاده از حلقه for…in
این یکی از رایجترین و آسانترین راهها برای تکرار در فرهنگ لغت است. این به شما امکان می دهد به کلیدهای فرهنگ لغت، یک به یک دسترسی داشته باشید. در اینجا مثالی از نحوه استفاده از حلقه برای در فرهنگ لغت برای دریافت کلید و مقدار آورده شده است:
for (let key in languages) {
console.log(`${key}=${languages[key]}`);
}
// Output:
EN=English
ES=Spanish
TA=Tamil
2. استفاده از حلقه for…of
Object.entries() یکی از متدهای شی است. با استفاده از این روش همراه با حلقه for…of، اما به شما امکان می دهد به مقادیر فرهنگ لغت به عنوان یک آرایه دسترسی داشته باشید. مثلا:
for (let key of Object.entries(languages)) {
console.log(key);
}
// Output:
[ 'EN', 'English' ]
[ 'ES', 'Spanish' ]
[ 'TA', 'Tamil' ]
3. با استفاده از متد ()entries
for (let [key, value] of Object.entries(languages)) {
console.log(`${key}=${value}`);
}
// Output:
EN=English
ES=Spanish
TA=Tamil
تمام کلیدهای فرهنگ لغت را دریافت کنید و چاپ کنید
کلیدها ابزار اصلی دسترسی به مقادیر در یک شی فرهنگ لغت جاوا اسکریپت هستند. کلیدهای دیکشنری می توانند از هر نوع جاوا اسکریپت، از جمله رشته ها، اعداد و نمادها باشند.
در اینجا مثالی از نحوه ایجاد یک شی دیکشنری با کلیدهای رشته ای آورده شده است:
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
console.log(Object.keys(languages))
// Output: ["EN", "ES", "TA"]
در این مثال، کلیدها ‘EN’، ‘ES’ و ‘TA’ هستند. مقادیر مربوط به آن کلیدها ‘English’، ‘Spanish’ و ‘Tamil’ هستند. با استفاده از متد () Object.keys جاوا اسکریپت می توانید به تمام کلیدهای فرهنگ لغت دسترسی داشته باشید.
تمام مقادیر فرهنگ لغت را دریافت کنید
برای بازیابی مقادیر یک شی فرهنگ لغت جاوا اسکریپت، می توانید از متد ()Object.values استفاده کنید. این روش مقادیر را به صورت آرایه برمی گرداند.
در اینجا یک مثال است:
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
console.log(Object.values(languages));
// Output: [ 'English', 'Spanish', 'Tamil' ]
اندازه یا طول فرهنگ لغت جاوا اسکریپت
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
console.log(Object.keys(languages).length)
// Output: 3
در این مثال، متد Object.keys() آرایه ای از کلیدها را در شی دیکشنری برمی گرداند (‘EN’، ‘ES’، و ‘TA’). ویژگی length آن آرایه برای تعیین طول شی دیکشنری استفاده می شود. در این مورد، سه کلید وجود دارد، بنابراین طول آن 3 است.
فرهنگ لغت بررسی جاوا اسکریپت حاوی یک کلید است
برای بررسی اینکه آیا کلید در شی دیکشنری وجود دارد، میتوانید از متد () include یا () hasOwnProperty استفاده کنید. در اینجا یک مثال با استفاده از include():
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
console.log(Object.keys(languages).includes('EN'));
// Output: true
console.log(Object.keys(languages).includes('en'));
// Output: false
در این مثال، متد Object.keys() کلیدهای فرهنگ لغت را به صورت یک آرایه برمی گرداند. میتوانید از روش JavaScript include() برای بررسی اینکه آیا کلیدهای ‘EN’ در شی دیکشنری وجود دارد یا خیر استفاده کنید.
در جاوا اسکریپت، مقادیر رشته به حروف کوچک و بزرگ حساس هستند. بنابراین جستجوی کلید فرهنگ لغت ‘en’ false را برمی گرداند زیرا کلید واقعی با حروف بزرگ است.
دو راه برای جستجوی کلیدهای فرهنگ لغت به روشی غیر حساس به حروف بزرگ و کوچک وجود دارد. هر دو کلید و متن جستجو را به حروف کوچک جاوا اسکریپت تبدیل کنید یا قبل از جستجو کلیدها و متن را به حروف بزرگ جاوا اسکریپت تبدیل کنید.
فرهنگ لغت جاوا اسکریپت ارزش به کلید دریافت می کند
برای بازیابی مقدار مرتبط با یک کلید خاص در یک شی دیکشنری جاوا اسکریپت، میتوانید از نماد براکت یا متد get() استفاده کنید. در اینجا یک مثال با استفاده از نماد براکت آورده شده است:
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
console.log(languages['EN']);
// Output: "English"
console.log(languages.EN);
// Output: "English"
کلید حذف فرهنگ لغت جاوا اسکریپت
این حذف عملگر را می توان برای حذف یک جفت کلید-مقدار از یک شی فرهنگ لغت جاوا اسکریپت استفاده کرد. در اینجا مثالی از نحوه استفاده از عملگر حذف آورده شده است:
const languages = {
'EN': 'English',
'ES': 'Spanish',
'TA': 'Tamil'
}
delete languages['TA']
console.log(Object.values(languages));
// Output: [ 'English', 'Spanish' ]
در این مثال، زبان تامیل با استفاده از کلید “TA” از فرهنگ لغت حذف شد. اگر شی دیکشنری “Languages” را چاپ کنیم، جفت های کلید-مقدار باقی مانده را چاپ می کند.
نتیجه
در نتیجه جاوا اسکریپت نوع داده دیکشنری بومی ندارد. با این حال، ما می توانیم اشیاء فرهنگ لغت جاوا اسکریپت را ایجاد کنیم. ساختار داده فرهنگ لغت به شما امکان می دهد داده ها را با استفاده از جفت های کلید-مقدار ذخیره و بازیابی کنید. آنها به ویژه زمانی مفید هستند که به داده های سریع و در دسترس نیاز دارید.
نحوه ایجاد فرهنگ لغت و افزودن یا اصلاح مقادیر فرهنگ لغت را بررسی کردیم. روش های متعددی برای تکرار در فرهنگ لغت وجود دارد. می توانید از متدهای for…in، حلقه for…of و Object.entries() استفاده کنید.
می توانید طول فرهنگ لغت را با شمارش کلیدهای آن بررسی کنید. با استفاده از آرایه شامل() می توانید بررسی کنید که آیا کلید از قبل در دیکشنری وجود دارد یا خیر. عملگر حذف جاوا اسکریپت می تواند به شما کمک کند تا یک جفت کلید-مقدار را از یک شی دیکشنری حذف کنید.
چگونه می خواهید از شی دیکشنری جاوا اسکریپت استفاده کنید؟