Map և Set
Map և Set JavaScript-ում
Map և Set տվյալների կառուցվածքները ECMAScript 2015 (ES6)-ից են ներմուծվել և նախատեսված են ավելի ճկուն և հզոր տվյալների պահման համար՝ ի տարբերություն սովորական օբյեկտների և զանգվածների։
Map-ը key-value զույգերի հավաքածու է։ Այն նման է օբյեկտի, բայց ունի մի շարք առավելություններ։
const myMap = new Map();
myMap.set("name", "Ani");
myMap.set("age", 30);
console.log(myMap.get("name")); // Ani
console.log(myMap.has("age")); // true
console.log(myMap.size); // 2
myMap.delete("age");
console.log(myMap.has("age")); // false
Հատկություններ և առավելություններ՝
.set
, .get
, .has
, .delete
մեթոդներով աշխատելSet-ը արժեքների (values) հավաքածու է, որտեղ կրկնվող արժեքներ չեն թույլատրվում։
const mySet = new Set();
mySet.add(1);
mySet.add(2);
mySet.add(2); // Կանտեսվի, որովհետև արդեն կա
console.log(mySet.has(1)); // true
console.log(mySet.size); // 2
mySet.delete(2);
console.log(mySet.has(2)); // false
Հատկություններ և առավելություններ՝
Հատկություն | Object / Array | Map / Set |
---|---|---|
Բանալիների/արժեքների տեսակներ | string կամ number | Ցանկացած (օբյեկտներ, ֆունկցիաներ) |
Պահպանում է ավելացման կարգը | Ոչ միշտ | Այո |
Տվյալների որոնման արագություն | Ցածր՝ մեծ քանակի դեպքում | Բարձր |
Կրկնվող արժեքներ | Թույլատրելի է | Set – ոչ, Map – key-երը եզակի են |
Map-ը լավագույն ընտրությունն է, երբ քեզ պետք է բանալի-արժեք զույգերի պահում, իսկ Set-ը՝ երբ պետք է միայն եզակի արժեքներ պահես։ Դրանք ավելի հարմար են և performant, քան սովորական օբյեկտներն ու զանգվածները, հատկապես բարդ տվյալների կառավարման ժամանակ։