(Tekrara yer yok, drama hiç yok 😌)
Merhaba güzel insan 💖
Bugün JavaScript evreninde “aynı şeyden iki tane olmasın lütfen” diye kibar ama net bir duruş sergileyen elit bir veri yapısıyla tanışıyoruz: Set.
Set, JavaScript’in:
- “Ben sadeyim” diyen
- “Tekrar mı? Yok canım” diye kapıyı kapatan
- Sessiz ama çok güçlü elemanıdır.
🤯 Bu Yazı Sana Tanıdık Geliyorsa…
Eğer bugüne kadar:
- “Bu dizide bu eleman vardı sanki ama emin değilim…” diye düşündüysen 🤔
filter,indexOf,includesarasında mekik dokuduysan- “Tekrar eden değerler yüzünden saçım beyazladı” diyorsan 👵🏻
👉 Hoş geldin. Set tam sana göre.
🧺 Set Nedir? (En Temel Haliyle)
Set, JavaScript’te benzersiz (unique) değerler tutan bir koleksiyondur.
Yani kuralı çok net:
“Aynı değerden iki tane mi? Yok öyle bir şey.”
const mySet = new Set();
Bitti.
keyyokvaluekarmaşası yok- JSON tripleri yok
Sadece değerler ve asalet ✨
🚫 Tekrar Eden Değerler? Set: “Ben almıyorum.”
Şimdi Set’in karakterini görelim:
const numbers = new Set([1, 2, 2, 3, 3, 3]);
console.log(numbers);
// Set(3) {1, 2, 3}
Açıklayalım:
2ikinci kez geldi → kapıdan döndü3üçüncü kez geldi → engellendi
Karşılaştırma yapalım:
- Array: “Ben hepsini alırım, sorun sende.”
- Set: “Tekrarlananlar kapıda kalsın.” 🚷
💡 Pratik İpucu:
Bir dizide tekrar eden veriler varsa ve sen bunu tek satırda temizlemek istiyorsan, Set tam aradığın şey.
➕ Set’e Eleman Ekleme (Nazik Ama Net)
const fruits = new Set();
fruits.add("🍎");
fruits.add("🍌");
fruits.add("🍎");
console.log(fruits);
// Set(2) {"🍎", "🍌"}
Burada ne oldu?
- 🍎 ilk kez geldi → hoş geldin
- 🍌 geldi → buyur
- 🍎 tekrar geldi → “Biz daha önce tanıştık.”
Set kırıcı değil ama kararlı 😌
💡 Pratik İpucu:add() metodu zincirlenebilir:
fruits.add("🍓").add("🍍");
❓ İçinde Var mı Yok mu? (En Hızlı Kontrol)
fruits.has("🍌"); // true
fruits.has("🍓"); // false
Burada güzellik şu:
includesyokindexOfyok- Performans derdi yok
Sadece:
has → var mı?
Net. Karizmatik. 💅
💡 Ne Zaman Kullanılır?
- Yetki kontrolü
- Favoriler listesi
- Daha önce işlendi mi kontrolü
🗑️ Eleman Silme & Temizlik Operasyonu
fruits.delete("🍌");
Tek tek yollarını ayırmak için.
fruits.clear();
Toplu veda.
Ev süpürüldü, Set tertemiz 🧹
💡 Pratik İpucu:delete() true/false döner. Yani:
fruits.delete("🍎"); // true
fruits.delete("🍉"); // false
📏 Set’in Boyu (Buraya Dikkat!)
fruits.size;
length yok ❌
Çünkü Set diyor ki:
“Ben array değilim canım.”
💡 Mülakat Uyarısı 🚨mySet.length yazarsan undefined alırsın.
Bu küçük hata çok kişiyi yakıyor 👀
🔄 Set Üzerinde Dolaşmak (Gayet Sakin)
for (const fruit of fruits) {
console.log(fruit);
}
Ya da:
fruits.forEach(fruit => console.log(fruit));
Set:
- Sıralıdır (ekleme sırasına göre)
- Sessizdir
- Karmaşa çıkarmaz
🧘♀️ Zen modu açık.
🔁 Array ↔ Set Dönüşümü (Efsane Kısım)
Array’den tekrarları temizlemek:
const numbers = [1, 1, 2, 3, 3, 4];
const uniqueNumbers = [...new Set(numbers)];
console.log(uniqueNumbers);
// [1, 2, 3, 4]
Bu satır:
- Mülakat kurtarır
- Bug temizler
- “Bunu nasıl yaptın?” dedirtir 😌
💡 Altın İpucu:
Set’i tekrar array’e çevirmek için:
Array.from(new Set(numbers));
🎯 Ne Zaman Set Kullanmalısın?
✔️ Tekrar eden değerleri istemiyorsan
✔️ Hızlı “var mı yok mu?” kontrolü gerekiyorsa
✔️ Bir diziyi temizlemek istiyorsan
✔️ Kodun daha okunabilir ve sade olsun istiyorsan
Set orada…
Sessizce seni bekliyor 🖤
💌 Son Söz
Set, JavaScript’in:
- Drama sevmeyen
- Sadelikten yana
- “Az ama öz” yaşayan veri yapısıdır.
Eğer kodunda tekrar eden şeyler varsa…
Belki de hayat gibi…
👉 Bir Set’e ihtiyacın vardır 😏

