- خپره شوې پر
په جاوا سکریپټ کې هش نقشه: د لوړ فعالیت سره د کلید-ارښت جوړه
- لیکوالان
- نوم
- Imamuzzaki Abu Salam
- https://x.com/ImBIOS_Dev
ولې هاش مېپ؟
ښه، موږ ټول پوهیږو چې بل پروګرامینګ ژبه د هاش ټیبل په نوم یو څه لري. دا یوه ډیټا جوړښت ده چې د کی-ویلور جوړې ذخیره کوي چې د دوی O(1) ثابت وخت لټون له امله خورا عالي دي. دا یوه ګټوره ډیټا جوړښت ده چې موږ کولی شو د معلوماتو ذخیره کولو لپاره وکاروو. په جاوا سکریپټ کې، موږ د هاش ټیبل په څیر جوړ شوی ډیټا جوړښت نه لرو. مګر موږ کولی شو د کی-ویلور جوړې ذخیره کولو لپاره یو شی وکاروو. دا په جاوا سکریپټ کې مېپ بلل کیږي.
مېپ څه شی دی؟
مېپ د عناصر یوه ټولګه ده چې هر عنصر د کی، ویلور جوړې په توګه ذخیره شوی. د مېپ کلیدونه او ارزښتونه کولی شي هر ډول ارزښت وي (دواړه شیان او لومړني ارزښتونه). یو مېپ شی د ننوتلو ترتیب کې خپل عناصر تکراروي - یوه for...of حلقه د هر تکرار لپاره د [کلید، ارزښت] یوه آری ذخیره کوي.
مېپ د کی-ویلور جوړې لري چې د کی ډول کولی شي هر ډول وي. مېپ یوه ملکیت لري چې د مېپ اندازه استازیتوب کوي. مېپ د کیونو اصلي ننوتلو ترتیب په یاد لري.
مېپ میتودونه او ملکیتونه
میتود | تشریح |
---|---|
new Map() | یو نوی مېپ شی جوړوي |
set() | په یوه مېپ کې د کی لپاره ارزښت تنظیموي |
get() | د کی لپاره ارزښت بیرته راګرځوي |
has() | یو بولین بیرته راګرځوي چې آیا کی په یوه مېپ کې شتون لري |
delete() | له مېپ څخه یوه کی لرې کوي |
clear() | ټول کیونه له مېپ څخه لرې کوي |
values() | د مېپ ارزښتونو یوه تکرار کونکی شی بیرته راګرځوي |
keys() | د مېپ کیونو یوه تکرار کونکی شی بیرته راګرځوي |
entries() | د مېپ کی-ویلور جوړو یوه تکرار کونکی شی بیرته راګرځوي |
forEach() | د مېپ کې د هر کی-ویلور جوړې لپاره یوه وړاندې شوې فعالیت اجرا کوي |
ملکیت | تشریح |
---|---|
size | په یوه مېپ کې د کی/ویلور جوړو شمېر بیرته راګرځوي |
مېپ مثال
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
مېپ تکرار
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)
})
مېپ په مقابل کې شی
مېپ | شی |
---|---|
مېپ د کلیدي معلوماتو توکو یوه ټولګه ده، لکه یوه شی. مګر اصلي توپیر دا دی چې مېپ د هر ډول کلیدونو اجازه ورکوي. | د شی کلیدونه باید یا تار وي یا سمبول. |
مېپ تکرار وړ دی او په اسانۍ سره یې حلقه کیدی شي. | شی تکرار وړ نه دی او په اسانۍ سره یې حلقه نشي کیدای. |
مېپ یوه جوړ شوی forEach میتود لري، نو د آری ته بدلولو ته اړتیا نشته. | شی جوړ شوی forEach میتود نه لري. |
مېپ یوه اندازه ملکیت لري، نو موږ کولی شو په اسانۍ سره د توکو شمېر ترلاسه کړو. | شی اندازه ملکیت نه لري. |
مېپ کولی شي شیان د کی په توګه وکاروي. | شی کولی شي شیان د کی په توګه ونه کاروي. |
مېپ په عمومي توګه د شی په پرتله ګړندی دی. | شی په عمومي توګه د مېپ په پرتله ورو دی. |
پایله
په دې مقاله کې، موږ د جاوا سکریپټ کې د مېپ په اړه زده کړې. موږ د مېپ میتودونه او ملکیتونه زده کړي دي. موږ هم د مېپ او شی تر منځ توپیر په اړه پوه شوي یو. هیله لرم چې تاسو له دې مقالې خوند واخلئ. که تاسو کوم پوښتنې لرئ، مهرباني وکړئ په لاندې کې یو نظر پریږدئ. مننه د لوستلو لپاره.
په اصل کې په لاندې ځای کې خپره شوه: https://blog.imam.dev/blog/javascript-hashmap
سرچینې
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map