CodeGym /Kurslar /Frontend SELF AZ /Yeni data strukturları: Map, Set

Yeni data strukturları: Map, Set

Frontend SELF AZ
Səviyyə , Dərs
Mövcuddur

3.1 Map Koleksiyası

ECMAScript 2015 (ES6)-də JavaScript-ə iki yeni məlumat strukturunu əlavə etdilər: MapSet. 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:

JavaScript
    
      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.

JavaScript
    
      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.

JavaScript
    
      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.

JavaScript
    
      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.

JavaScript
    
      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.

JavaScript
    
      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ə:

JavaScript
    
      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:

JavaScript
    
      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.

JavaScript
    
      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.

JavaScript
    
      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.

JavaScript
    
      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.

JavaScript
    
      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.

JavaScript
    
      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:

  1. 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.
  2. 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.
  3. 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:

  1. Unikal dəyərlər: Set avtomatik olaraq bütün elementlərinin unikal olduğunu təmin edir.
  2. 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.
  3. 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:

JavaScript
    
      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:

JavaScript
    
      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
    
  
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION