CodeBlanks Logo Icon CodeBlanks

Özet - Map ve Set

JavaScript kursu · İleri seviye · Ders 41/100

Map ve Set kullanarak bir kelime sayacı uygulaması yazarsın.

Özet - Map ve Set

Bu grupta Map ile sıralı ve her türden anahtar kabul eden bir koleksiyon; Set ile benzersiz değer koleksiyonu öğrendin. set/get/has/delete ve size ile ikisini de yönetirsin.

WeakMap ve WeakSet nesne referanslarını zayıf tutarak çöp toplayıcıya izin verir; iterasyon yapamazsın. Map, sık eklenen/silinen anahtar-değerlerde Object'ten daha hızlıdır ve ekleme sırasını garanti eder. Şimdi bunları bir arada kullanan bir kelime sayacı yazacaksın.

Uygulama Kelime sayacı uygulaması

Bir sentence dizesini boşluklardan böl. Her kelimenin kaç kez geçtiğini bir counts adında Map içinde say; counts.get(word) || 0 ile mevcut değeri al. Sonra benzersiz kelimeleri bir uniqueWords adında Set içine topla ve console.log ile kaç benzersiz kelime olduğunu yazdır.

Örnek çözümü göster
const sentence = "elma armut elma muz armut elma";
const words = sentence.split(" ");
const counts = new Map();
const uniqueWords = new Set();
for (const word of words) {
  counts.set(word, (counts.get(word) || 0) + 1);
  uniqueWords.add(word);
}
console.log(uniqueWords.size);

Kendini test et

  1. Hangi senaryo için Set en uygun seçimdir?

    • Bir nesneye geçici metadata eklemek
    • Bir kullanıcının rollerini id ile saklamak
    • Bir listeden geçen benzersiz şehirleri bulmak
    • Sabit şekilli kullanıcı verisini tutmak
    Cevabı göster

    Bir listeden geçen benzersiz şehirleri bulmak — Doğru. Set yinelenen değerleri otomatik eler; benzersiz şehirler için idealdir.

  2. Kelime sayacını bir satırda tamamla

    const counts = new Map();
    const word = "elma";
    counts.set(word, (counts.get(word) || 0) + ____);
    console.log(counts.get(word));
    Cevabı göster
    const counts = new Map();
    const word = "elma";
    counts.set(word, (counts.get(word) || 0) + 1);
    console.log(counts.get(word));
  3. Koleksiyonları eşleştir

    Map
    Anahtar-değer, sıralı
    Set
    Benzersiz değerler
    WeakMap
    Nesne anahtarı, çöp toplayıcı dostu
    Object
    Sabit şekil, prototip zinciri

İleri seviye bölümündeki tüm dersler