JavaScript Array Filter: Etkili ve Pratik Kullanım Örnekleri

Posted by

Merhaba arkadaşlar, bu yazımda sizlere JavaScript Array Filter konusundan bahsedeceğim.

Array metotları, JavaScript geliştiricilerinin hayatını kolaylaştıran çok önemli araçlardır. Bu metotlardan biri olan filter, bir dizideki belirli şartlara uyan öğeleri filtreleyerek yeni bir dizi oluşturur.

Filter Metodu Nedir?

filter metodu, belirttiğiniz şartlara uyan öğeleri alıp yeni bir dizi oluşturur. Orijinal dizi değişmez. Bu metot, saf fonksiyonel programlama prensiplerine uygun çalışır.

Metot Bilgisi:

array.filter(callback(element[, index[, array]])[, thisArg])
  • callback: Her bir öğeyi kontrol eden fonksiyon.
  • element: Dizi öğesini temsil eder.
  • index (opsiyonel): Öğenin dizideki indeksini temsil eder.
  • array (opsiyonel): Filtreleme yapılan diziyi temsil eder.
  • thisArg (opsiyonel): Callback fonksiyonu için kullanılacak this değeri.

Filter Kullanımına Dair Temel Örnekler

1. Belirli Bir Şarta Uyan Sayıları Filtreleme

Pozitif sayıları filtrelemek için:

const sayilar = [-3, 2, 0, -7, 8, 4];
const pozitifSayilar = sayilar.filter(sayi => sayi > 0);
console.log(pozitifSayilar); // [2, 8, 4]

2. Metinlerde Belirli Bir Harfi Aramak

“A” harfiyle başlayan kelimeleri bulmak için:

const kelimeler = ["Araba", "Ev", "Ayna", "Telefon"];
const aIleBaslayanlar = kelimeler.filter(kelime => kelime.startsWith("A"));
console.log(aIleBaslayanlar); // ["Araba", "Ayna"]

3. Nesnelerle Filtreleme

Bir nesne dizisinde belirli bir şarta uyan öğeleri bulmak:

const kullanicilar = [
    { ad: "Ali", yas: 25 },
    { ad: "Ayşe", yas: 30 },
    { ad: "Mehmet", yas: 20 }
];

const yasBuyuk25 = kullanicilar.filter(kullanici => kullanici.yas > 25);
console.log(yasBuyuk25);
// [{ ad: "Ayşe", yas: 30 }]

Daha İleri Seviyede Filter Kullanımı

1. Birden Fazla Koşulu Birleştirme

Yaşı 18 ile 30 arasında olanları filtrelemek:

const uygunKullanicilar = kullanicilar.filter(
    kullanici => kullanici.yas >= 18 && kullanici.yas <= 30
);
console.log(uygunKullanicilar);
// [{ ad: "Ali", yas: 25 }, { ad: "Mehmet", yas: 20 }]

2. Nested Dizilerde Filtreleme

Bir dizi içinde dizi olan yapılarda belirli öğeleri filtrelemek:

const notlar = [
    ["Ali", 85],
    ["Ayşe", 90],
    ["Mehmet", 70]
];

const basariliOgrenciler = notlar.filter(not => not[1] > 80);
console.log(basariliOgrenciler);
// [["Ali", 85], ["Ayşe", 90]]

3. Tekrarlayan Elemanları Filtreleme

Bir dizideki tekrarlayan elemanları temizlemek:

const numaralar = [1, 2, 2, 3, 4, 4, 5];
const benzersizNumaralar = numaralar.filter((numara, index, dizi) => dizi.indexOf(numara) === index);
console.log(benzersizNumaralar); // [1, 2, 3, 4, 5]

Performans İpuçları

  • Callback fonksiyonlarınızı basit ve hızlı tutun.
  • Filtreleme işlemleri çok büyük dizilerde kullanılacaksa algoritma optimizasyonları yapın.
  • Gerekirse diziyi parçalar halinde filtreleyin.

Sonuç

JavaScript’in filter metodu, dizi içeriklerini işlemek ve şartlara uyan öğeleri çıkarmak için güçlü bir çözüm sunar. Yukarıdaki örnekler ve ipuçlarıyla, filter metodunu çok daha etkili bir şekilde kullanabilirsiniz.

Array filter ile ilgili daha fazla bilgilendirme ve kontrol sağlamak için:
https://www.w3schools.com/jsref/jsref_filter.asp

Filtreleme yaptıktan sonra da sıralama yapmak isterseniz bir önceki yazımı inceleyebilirsiniz.

JavaScript Sort Kullanımı: Dizilerde Sıralama


Umarım faydalı olur.

Bir sonraki yazıda görüşmek üzere…

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir