CodeBlanks Logo Icon CodeBlanks

Set veri yapısı

JavaScript kursu · İleri seviye · Ders 37/100

Set ile benzersiz değerler tutan bir koleksiyon öğrenirsin.

Set nedir?

Set, yalnızca benzersiz değerleri tutan bir koleksiyondur. new Set() ile oluşturulur. Aynı değeri ikinci kez eklersen Set bunu yok sayar; yinelenen oluşmaz.

Set, değerleri eklenme sırasına göre saklar. add ile değer ekler, has ile varlığını sorgular, delete ile siler ve size ile kaç değer olduğunu okursun.

Set ile tekrarları temizleme

Bir diziden tekrarları kaldırmanın en kısa yolu new Set(array) yapmaktır. Set, dizideki her değeri bir kez tutar. Sonuçları tekrar dizi istersen Array.from(set) ya da [...set] yazarsın.

Bu yöntem sayı, dize ve nesne referansları için çalışır; ancak nesneler değere göre değil referansa göre karşılaştırılır. İki ayrı {} nesnesi Set için farklı kabul edilir.

Uygulama Tekrarları Set ile temizle

tags adında bir dizi oluştur ve içinde yinelenen değerler olsun (örneğin "js" iki kez). Bir Set ile yinelenenleri kaldır; sonucu uniqueTags adında yeni bir diziye dönüştür. uniqueTags.length'i console.log ile yazdır.

Örnek çözümü göster
const tags = ["js", "html", "js", "css"];
const uniqueTags = Array.from(new Set(tags));
console.log(uniqueTags.length);

Kendini test et

  1. Bir Set'e aynı değeri iki kez eklersen ne olur?

    • Hata fırlatılır
    • İkinci değer eskisinin üzerine yazar
    • İkinci ekleme yok sayılır, değer bir kez kalır
    • Set'in boyutu iki katına çıkar
    Cevabı göster

    İkinci ekleme yok sayılır, değer bir kez kalır — Doğru. Set yalnızca benzersiz değer tutar; ikinci ekleme yok sayılır.

  2. Tekrarları Set ile kaldır

    const numbers = [1, 2, 2, 3, 3, 3];
    const unique = Array.from(new ____(numbers));
    console.log(unique);
    Cevabı göster
    const numbers = [1, 2, 2, 3, 3, 3];
    const unique = Array.from(new Set(numbers));
    console.log(unique);
  3. Aşağıdaki kod ne yazdırır?

    const s = new Set();
    s.add(1);
    s.add(1);
    console.log(s.size);
    • 1
    • 2
    • 0
    • undefined
    Cevabı göster

    1 — Doğru. İkinci add(1) yok sayılır; size 1 kalır.

  4. Set metotlarını eşleştir

    add(val)
    Yeni değer ekler
    has(val)
    Değer var mı?
    delete(val)
    Değeri siler
    size
    Kaç değer var?

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