- منتشر شده در
په جاوا سکریپټ کې هش نقشه: د لوړ فعالیت سره د کلید-ارښت جوړه
- نویسندگان
- نام
- Imamuzzaki Abu Salam
- https://x.com/ImBIOS_Dev
ولې HashMap؟
ښه، موږ ټول پوهیږو چې بل برنامه نویسي ژبه یو څه لري چې Hashtable بلل کیږي. دا یو ډاټا جوړښت دی چې کلید-ارزش جوړه ذخیره کوي چې ډیره ښه ده ځکه چې د دوی O(1) ثابت وخت لټون. دا یو ګټور ډاټا جوړښت دی چې موږ کولی شو د معلوماتو ذخیره کولو لپاره وکاروو. په جاوا سکریپټ کې، موږ د Hashtable په څیر یو جوړ شوی ډاټا جوړښت نلرو. مګر موږ کولی شو د کلید-ارزش جوړه ذخیره کولو لپاره یو شی وکاروو. دا په جاوا سکریپټ کې Map بلل کیږي.
Map څه شی دی؟
Map یو مجموعه ده د عناصرو چې هر عنصر د کلید، ارزښت جوړه په توګه ذخیره شوی. د Map کلیدونه او ارزښتونه کولی شي هر ډول ارزښت وي (دواړه شیان او لومړني ارزښتونه). یو Map شی د هغه عناصرو ټکر کولو کې په داخلیدو ترتیب کې - یو for...of حلقه د هر ټکر لپاره د [کلید، ارزښت] یوه ټولګه راګرځوي.
Map د کلید-ارزش جوړه ساتي چې کلیدونه یې هر ډول ډاټا ټایپ کیدی شي. Map یو ملکیت لري چې د Map اندازې استازیتوب کوي. Map د کلیدونو اصلي داخلیدو ترتیب یاد ساتي.
Map میتودونه & ملکیتونه
میتود | تشریح |
---|---|
new Map() | یو نوی Map شی جوړوي |
set() | د Map کې د کلید لپاره ارزښت تنظیموي |
get() | د کلید لپاره ارزښت بیرته راګرځوي |
has() | یو بولین بیرته راګرځوي چې دا ښيي چې ایا یو کلید په Map کې شتون لري |
delete() | یو کلید له Map څخه لرې کوي |
clear() | ټول کلیدونه له Map څخه لرې کوي |
values() | د Map کې د ارزښتونو یو ایټریټر شی راګرځوي |
keys() | د Map کې د کلیدونو یو ایټریټر شی راګرځوي |
entries() | د Map کې د کلید-ارزش جوړو یو ایټریټر شی راګرځوي |
forEach() | یو ټاکل شوی فعالیت یو ځل د Map کې د هر کلید-ارزش جوړې لپاره ترسره کوي |
ملکیت | تشریح |
---|---|
size | د Map کې د کلید/ارزش جوړو شمیر بیرته راګرځوي |
Map مثال
const map = new Map()
map.set('name', 'John')
map.set('age', 30)
map.set('isMarried', true)
map.set('address', { city: 'New York', state: 'NY' })
map.set('hobbies', ['reading', 'writing', 'coding'])
console.log(map.get('name')) // John
console.log(map.get('age')) // 30
console.log(map.get('isMarried')) // true
console.log(map.get('address')) // {city: 'New York', state: 'NY'}
console.log(map.get('hobbies')) // ['reading', 'writing', 'coding']
console.log(map.size) // 5
Map ټکر
const map = new Map()
map.set('name', 'John')
map.set('age', 30)
map.set('isMarried', true)
map.set('address', { city: 'New York', state: 'NY' })
map.set('hobbies', ['reading', 'writing', 'coding'])
// د کلیدونو ټکر
for (const key of map.keys()) {
console.log(key)
}
// د ارزښتونو ټکر
for (const value of map.values()) {
console.log(value)
}
// د کلید-ارزش جوړو ټکر
for (const [key, value] of map.entries()) {
console.log(key, value)
}
// د کلید-ارزش جوړو ټکر
map.forEach((value, key) => {
console.log(key, value)
})
Map vs. Object
Map | Object |
---|---|
Map یو مجموعه ده د کلید شوي ډاټا توکو، لکه یو Object. مګر اصلي توپیر دا دی چې Map د هر ډول ډاټا ټایپ کلیدونه اجازه ورکوي. | Object کلیدونه باید یا یو تار یا یو سمبول وي. |
Map ټکر وړ دی او په اسانۍ سره یې حلقه کیدی شي. | Object ټکر وړ نه دی او په اسانۍ سره یې حلقه کیدی شي. |
Map یو جوړ شوی forEach میتود لري، نو اړتیا نشته چې دا په یوه ټولګه بدل شي. | Object یو جوړ شوی forEach میتود نه لري. |
Map یو size ملکیت لري، نو موږ کولی شو په اسانۍ سره د توکو شمیر ترلاسه کړو. | Object یو size ملکیت نه لري. |
Map کولی شي شیان د کلید په توګه وکاروي. | Object کولی شي شیان د کلید په توګه ونه کاروي. |
Map په عمومي توګه د Object څخه ګړندی دی. | Object په عمومي توګه د Map څخه ورو دی. |
نتيجه
په دې مقاله کې، موږ په جاوا سکریپټ کې د Map په اړه زده کړه کړې. موږ د Map میتودونو او ملکیتونو په اړه زده کړه کړې. موږ د Map او Object ترمنځ د توپیر په اړه هم پوهیدلي یو. هیله لرم چې تاسو د دې مقالې څخه خوند اخیستی وي. که تاسو کومه پوښتنه لرئ، مهرباني وکړئ په لاندې نظر کې یې ولیکئ. د لوستلو لپاره مننه.
په اصلي توګه په لاندې پته کې خپره شوې: https://blog.imam.dev/blog/javascript-hashmap
حوالې
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map