CodeBlanks Logo Icon CodeBlanks

Yaygın iterable'lar

JavaScript kursu · İleri seviye · Ders 46/100

Dizi, dize, NodeList ve Map gibi yaygın iterable'ları öğrenirsin.

Yaygın iterable'lar

JavaScript'in birçok yerleşik veri türü iterable'dır. Diziler elemanlarını, dizeler karakterleri, Map [key, value] çiftlerini, Set benzersiz değerleri verir. Bunların hepsi [Symbol.iterator] metoduna sahiptir.

Tarayıcıda document.querySelectorAll bir NodeList döndürür; o da iterable'dır. Böylece for...of ile tüm matched öğeleri gezebilirsin. arguments nesnesi ise iterable değildir; eski kodlarda diziye çevirmeden gezmek için rest parametresi kullanılır.

NodeList ve dizelere dikkat

Bir dize üzerinde for...of döndüğünde her adımda bir karakter alırsın; Türkçe karakterler de dahil tek bir karakter olarak gelir. NodeList ise DOM öğelerini sırayla verir; forEach de supportlar ama map veya filter yoktur.

Bu yüzden bir NodeList'i dönüştürmek için [...nodes] ile diziye çevirip dizi metotlarını kullanmak yaygın bir yaklaşımdır. Spread operatörü de arka planda iterator protokolünü kullanır.

Uygulama Dizedeki harfleri say

text adında bir dize tanımla (örn. "merhaba"). let count = 0 ile sayaç aç. for...of ile dizenin karakterlerini gez; her "a" harfinde count++ yap. Sonra console.log(count) ile sonucu yazdır.

Örnek çözümü göster
const text = "merhaba";
let count = 0;
for (const ch of text) {
  if (ch === "a") {
    count++;
  }
}
console.log(count);

Kendini test et

  1. Hangisi for...of ile gezilebilir?

    • Bir sayı değişkeni
    • null değeri
    • Bir Map nesnesi
    • true değeri
    Cevabı göster

    Bir Map nesnesi — Doğru. Map iterable'dır; for...of ile [key, value] çiftleri gelir.

  2. Dize üzerinde for...of

    const word = "merhaba";
    for (const ch ____ word) {
      console.log(ch);
    }
    Cevabı göster
    const word = "merhaba";
    for (const ch of word) {
      console.log(ch);
    }
  3. Yerleşik iterable'lar

    Dizi
    Elemanları verir
    Dize
    Karakterleri verir
    Map
    [key, value] çiftleri
    Set
    Benzersiz değerleri

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