Waxaa la daabacay

JavaScript-ka ahmiyadda badan ee Key-Value

Qorayaasha

Maxay Tahay Hashmap?

Waan ognahay in luuqad kale oo barnaamijka ah ay leedahay wax loo yaqaan Hashtable. Waa qaab xog ah oo kaydiya lammaanayaasha furaha-qiimaha, oo aad u fiican sababtoo ah waqtigoodu yahay O(1) oo joogto ah. Waa qaab xog oo faa'iido leh oo aan u isticmaali karno si aan u kaydino xogta. JavaScript, ma lihin qaab xog oo la dhisay sida Hashtable. Laakiin waxaan u isticmaali karnaa shay si aan u kaydino lammaanayaasha furaha-qiimaha. Waxaa loo yaqaan Map oo JavaScript ah.

Maxay Tahay Map?

Map waa ururinta walxo halkaas oo walxo kasta la kaydiyo sida lammaane Furahe, Qiime. Furaha iyo qiimaha Map waxay noqon karaan qiyam kasta (labada shay iyo qiimaha asalka ah). Shayga Map wuxuu soo marayaa walxahiisa si waafaqsan amarka gelinta - wareegga for...of wuxuu soo celinayaa shay lammaane oo [furahe, qiime] oo loogu talagalay mar kasta.

Map wuxuu hayaa lammaanayaasha furaha-qiimaha halkaas oo furaha uu noqon karo nooc xog kasta. Map wuxuu leeyahay hanti matala cabbirka Map. Map wuxuu xasuustaa amarka gelinta asalka ah ee furaha.

Hababka iyo Hantida Map

HabkaSharaxaad
new Map()Abuur shay Map oo cusub
set()Deji qiimaha loogu talagalay furahe ee Map
get()Soo celi qiimaha loogu talagalay furahe
has()Soo celi boolean oo tilmaamaya haddii furahe uu jiro ee Map
delete()Ka saar furahe ka Map
clear()Ka saar dhammaan furaha ka Map
values()Soo celi shay ku soo noqnoqda oo ah qiimaha ku jira Map
keys()Soo celi shay ku soo noqnoqda oo ah furaha ku jira Map
entries()Soo celi shay ku soo noqnoqda oo ah lammaanayaasha furaha-qiimaha ee Map
forEach()Fulinta shaqada la siiyay mar kasta oo loogu talagalay lammaane furahe-qiime ee Map
HantidaSharaxaad
sizeSoo celi tirada lammaanayaasha furaha/qiimaha ee Map

Tusaale 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

Marista 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'])

// Mar furaha
for (const key of map.keys()) {
  console.log(key)
}

// Mar qiimaha
for (const value of map.values()) {
  console.log(value)
}

// Mar lammaanayaasha furaha-qiimaha
for (const [key, value] of map.entries()) {
  console.log(key, value)
}

// Mar lammaanayaasha furaha-qiimaha
map.forEach((value, key) => {
  console.log(key, value)
})

Map vs. Shay

MapShay
Map waa ururinta walxo xogta oo lagu furto, sida shay. Laakiin farqiga ugu weyn waa in Map uu oggolaanayo furaha nooc kasta.Furaha shay waa inuu noqdaa xarig ama calaamad.
Map waa la marin karaa oo si fudud loo wareejin karaa.Shaygu ma marin karo oo si fudud looma wareejin karo.
Map wuxuu leeyahay hab forEach oo la dhisay, sidaas darteed ma jiraan baahi loo qabo in loo beddelo shay.Shaygu ma lahan hab forEach oo la dhisay.
Map wuxuu leeyahay hanti cabbir ah, si aan si fudud u helno tirada walxaha.Shaygu ma lahan hanti cabbir ah.
Map wuxuu isticmaali karaa shay ahaan furaha.Shaygu ma isticmaali karo shay ahaan furaha.
Map wuxuu ka dhaqso badan yahay shay guud ahaan.Shaygu guud ahaan ka gaabis badan yahay Map.

Gabagabo

Maqaalkan, waxaan ka barannay Map ee JavaScript. Waxaan barannay habka iyo hantida Map. Waxaan sidoo kale ogaannay farqiga u dhexeeya Map iyo Shay. Waxaan rajeynayaa inaad ka heshay maqaalkan. Haddii aad qabto su'aal kasta, fadlan ka tag faallo hoos. Waad ku mahadsan tahay akhriska.

Asal ahaan lagu daabacay: https://blog.imam.dev/blog/javascript-hashmap

Is-Xigxiga

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

https://www.freecodecamp.org/news/what-is-a-javascript-map-what-are-the-differences-between-map-and-object-in-javascript/

https://www.geeksforgeeks.org/map-vs-object-javascript/