Javascript Maps va Sets lar
Maps bu key: value qiymatlarini to'plovchi to'plam. Xuddi obyektga o'xshaydi. Lekin obyektdan farqi bor. Maps har qanday turlarni key sifatida qabul qiladi. Masalan: number, string, boolean v.k.
new Map()
– yangi map yaratadimap.set(key, value)
– key value qo'shadimap.get(key)
– key ning qiymatini qaytaradi, agar key mavjud bo'lmasaundefined
qaytaradimap.has(key)
– key bor yoki yo'qligini tekshirib boolean qiymat qaytaradimap.delete(key)
– key/value ni o'chirib tashlaydimap.clear()
– map dan hamma elementlarni o'chirib tashlaydimap.size
– map ning uzunligini qaytaradi
map.set('1',
'str1');
// a string key
Map da qiymatlar ham hohlagan tur bo'la oladi. Yani primitivlar: number, string, boolean va hokazo, shuningdek, reference turlar ham.
map.set('number', 42); map.set('string', 'hello'); map.set('boolean', true); map.set('object', { name: 'Ali' }); map.set('array', [1, 2, 3]); map.set('function', () => console.log('Hi!')); map.set('map', new Map([['key', 'value']]));
console.log(map.get('object')); // { name: 'Ali' } console.log(map.get('function')); // [Function]
Map ning built-in bo'lgan forEach metodi mavjud:
! Odatdagidan farqli ravishda value key dan oldin keladi.
Map ning shuningdek, quyidagi metodlari ham bor.
- map.keys() - mapning key larini qaytaradi.
- map.values() - mapning qiymat larini qaytaradi.
- map.entries() - mapning key va qiymat juftliklarini array sifatida qaytaradi.
const map = new Map([ ['name', 'Alice'], ['age', 30] ]);
const entriesIterator = map.entries();
for (const entry of entriesIterator) { console.log(entry); }
map.entries() va map (entries() siz) bir xil qiymat qaytaradi.
Yuqoridagi misolda har bir entry bu key va value ga teng. Uni quyidagicha destrukturizatsiya qilish mumkin:
for (const [key, value] of map.entries()) { console.log(key, value); }
Qisqa qilib aytganda map() entries iterator qaytaradi. Bu iterator key, value juftliklaridan iborar array bo'ladi.
Object.entries - Obyektdan Map yaratish
Obyektdan Map yasash uchun Object.entries() metodidan foydalaniladi. Bu metod obyektning key va value laridan iborat array qaytaradi. Bu Map yasash uchun uchun kerakli narsadir.
let
obj =
{
name:
"John",
age:
30
};
Object.fromEntries() - Map dan obyekt yasash.
Bu metod mapdan obyekt yasash uchun ishlatiladi.
let
obj =
Object.fromEntries(
map.entries());
map va map.entries() obyekt yasash uchun Object.fromEntries() talab qilgan formatni qaytaradi.
Sets esa unique bo'lgan qiymatlarni to'plash uchun ishlatiladi. Array dan farqi qiymatlar bir xil bo'lmasligi kerak.