3.1 Map Koleksiyası
ECMAScript 2015 (ES6)-də JavaScript-ə iki yeni məlumat strukturunu əlavə etdilər: Map
və Set
. Bu məlumat strukturları ənənəvi obyektlər və massivlərlə müqayisədə məlumat toplusunu saxlamaq və idarə etmək üçün daha çevik və effektiv üsullar təqdim edir.
Map
— bu, məlumat strukturu deməkdir ki, açar-dəyər cütlüklərini saxlamağa imkan verir, və bu açarlar istənilən tipdə ola bilər, o cümlədən obyektlər və funksiyalar.
1. Map yaradılması və ilkinləşdirilməsi:
const map = new Map();
2. Elementlərin əlavə edilməsi:
set
metodu yeni açar-dəyər cütlüklərini Map
-ə əlavə etmək üçün istifadə olunur.
map.set('key1', 'value1');
map.set(2, 'value2');
map.set({ name: 'objectKey' }, 'value3');
3. Elementlərin alınması:
get
metodu açara görə dəyəri əldə etmək üçün istifadə olunur.
const map = new Map();
map.set('key1', 'value1');
map.set(2, 'value2');
map.set({ name: 'objectKey' }, 'value3');
console.log(map.get('key1')); // 'value1'
console.log(map.get(2)); // 'value2'
4. Açarın mövcudluğunun yoxlanılması:
has
metodu açarın Map
-də mövcud olub-olmamasını yoxlayır.
const map = new Map();
map.set('key1', 'value1');
map.set(2, 'value2');
map.set({ name: 'objectKey' }, 'value3');
console.log(map.has('key1')); // true
console.log(map.has('key3')); // false
5. Elementlərin silinməsi:
delete
metodu açar üzrə elementi silir.
const map = new Map();
map.set('key1', 'value1');
map.set(2, 'value2');
map.set({ name: 'objectKey' }, 'value3');
map.delete('key1');
console.log(map.has('key1')); // false
6. Map-in təmizlənməsi:
clear
metodu Map
-dən bütün elementləri silir.
const map = new Map();
map.set('key1', 'value1');
map.set(2, 'value2');
map.set({ name: 'objectKey' }, 'value3');
map.clear();
console.log(map.size); // 0
7. Map üzrə iterasiya:
for...of
dövründən istifadə edərək Map
üzrə iterasiya edə bilərsiniz.
Nümunə:
const map = new Map();
map.set('key1', 'value1');
map.set(2, 'value2');
for (const [key, value] of map) {
console.log(`${key}: ${value}`);
}
// 'key1: value1'
// '2: value2'
3.2 Set kolleksiyası
Set
— bu, unikal hər hansı bir tipdəki dəyərləri saxlamağa imkan verən məlumat strukturudur, obyektlər və primitivlər də daxil olmaqla.
1. Set yaratmaq və başlatmaq:
const set = new Set();
2. Elementləri əlavə etmək:
add
metodu Set
daxilinə yeni dəyərlər əlavə etməyə xidmət edir.
set.add(1);
set.add('value2');
set.add({ name: 'objectValue' });
3. Dəyərin olub-olmamasını yoxlamaq:
has
metodu dəyərin Set
daxilində olub-olmamasını yoxlayır.
const set = new Set();
set.add(1);
set.add('value2');
set.add({ name: 'objectValue' });
console.log(set.has(1)); // true
console.log(set.has('value3')); // false
4. Elementləri silmək:
delete
metodu dəyəri Set
daxilindən silir.
const set = new Set();
set.add(1);
set.add('value2');
set.add({ name: 'objectValue' });
set.delete(1);
console.log(set.has(1)); // false
5. Set-i təmizləmək:
clear
metodu Set
daxilindəki bütün elementləri silir.
const set = new Set();
set.add(1);
set.add('value2');
set.add({ name: 'objectValue' });
set.clear();
console.log(set.size); // 0
6. Set ilə iterasiya etmək:
Set daxilində for...of
dövründən istifadə etmək olar.
const set = new Set();
set.add(1);
set.add('value2');
for (const value of set) {
console.log(value);
}
// 1
// 'value2'
3.3 Map və Set müqayisəsi
Map üstünlükləri:
- Müxtəlif açarlar:
Map
-də açarlar hər hansı bir tipdə ola bilər, o cümlədən obyektlər və funksiyalar, halbuki adi obyektlərdə açarlar yalnız sətirlər və ya simvollar ola bilər. - Düzgünlük:
Map
-də elementlər əlavə edildiyi sıraya uyğun saxlanılır, bu da onları əlavə edilmə sırasına uyğun tərtib etməyi asanlaşdırır. - Kolleksiya ölçüsü:
size
metodu vasitəsiləMap
-də elementlərin sayını tez əldə etmək mümkündür.
Set üstünlükləri:
- Unikal dəyərlər:
Set
avtomatik olaraq bütün elementlərinin unikal olduğunu təmin edir. - Düzgünlük:
Set
-də elementlər əlavə edildiyi sıraya uyğun saxlanılır, bu da onları əlavə edilmə sırasına uyğun tərtib etməyi asanlaşdırır. - Optimallaşdırılmış əməliyyatlar:
Set
elementlərin əlavə edilməsi, silinməsi və mövcudluğunu yoxlama kimi əməliyyatlar üçün optimallaşdırılmış metodlar təqdim edir.
Praktiki nümunələr
Map
-dən istifadə edərək istifadəçilər haqqında məlumat saxlama nümunəsi:
const users = new Map();
users.set(1, { name: 'Alice', age: 25 });
users.set(2, { name: 'Bob', age: 30 });
for (const [id, user] of users) {
console.log(`İstifadəçi ID: ${id}, Adı: ${user.name}, Yaşı: ${user.age}`);
}
// İstifadəçi ID: 1, Adı: Alice, Yaşı: 25
// İstifadəçi ID: 2, Adı: Bob, Yaşı: 30
Set
-dən istifadə edərək unikal dəyərləri filtr etmə nümunəsi:
const numbers = [1, 2, 3, 1, 2, 4, 5, 3];
const uniqueNumbers = new Set(numbers);
for (const number of uniqueNumbers) {
console.log(number);
}
// 1
// 2
// 3
// 4
// 5
GO TO FULL VERSION