Özet - Map ve Set
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
-
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.
-
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)); -
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