JavaScript Dersleri

JavaScript’te filter() Metodu

eminbasbayan

eminbasbayan

4 dk okuma
JavaScript’te filter() Metodu
🔍 Büyütmek için tıklayın

JavaScript’te programlama yaparken elimizde genellikle listeler (diziler) bulunur. Bu listelerin içinden bazı elemanları ayıklamak, belirli kurallara uyanları seçmek isteyebiliriz. Örneğin bir öğrenci listesi düşünelim. Bu listeden sadece notu 70’ten yüksek olan öğrencileri almak isteyebiliriz. İşte bu tür işlemleri yapmanın en doğru ve etkili yollarından biri filter() metodudur.

Bu makalede, filter() metodunu detaylı şekilde öğreneceğiz. Ne işe yarar, nasıl çalışır, hangi durumlarda kullanılabilir ve nasıl daha verimli hale getirilir gibi soruların cevaplarını örneklerle birlikte açıklayacağız.

filter() Nedir?

filter() metodu, bir dizideki her elemanı kontrol eder ve verilen koşula uyan elemanları yeni bir dizi olarak döndürür.

Buradaki önemli nokta şudur: filter() orijinal diziyi değiştirmez. Sadece koşulu sağlayan elemanlardan oluşan yeni bir dizi oluşturur.

Kullanım Şekli

yeniDizi = eskiDizi.filter(function(eleman) { return kosul; });

Burada:

  • eskiDizi: Üzerinde işlem yapılan dizidir.
  • eleman: Dizideki her bir öğeyi temsil eder.
  • kosul: Eğer true dönerse, bu eleman yeni diziye dahil edilir.

Basit Örnek: Sıcaklık Verileri

Bir şehirdeki sıcaklıkların bulunduğu listeyi düşünelim. Biz sadece 30 dereceden yüksek olanları istiyoruz:

const sicakliklar = [22, 35, 28, 40, 19, 33, 25]; const sicakGunler = sicakliklar.filter(function(sicaklik) { return sicaklik > 30; }); console.log(sicakGunler); // [35, 40, 33]

Burada filter, dizideki her sıcaklık değerini kontrol eder. 30’dan büyük olanları seçer ve yeni bir liste oluşturur.

Nesnelerle filter() Kullanımı

Daha gerçekçi bir senaryo düşünelim. Diyelim ki elimizde kitaplardan oluşan bir liste var. Her kitap bir nesne şeklinde tanımlanmış.

const kitaplar = [ { ad: "Yüzüklerin Efendisi", sayfa: 1200 }, { ad: "Küçük Prens", sayfa: 95 }, { ad: "Sefiller", sayfa: 1463 }, { ad: "Hayvan Çiftliği", sayfa: 112 } ];

Burada, 300 sayfadan fazla olan kitapları almak isteyelim:

const kalinKitaplar = kitaplar.filter(function(kitap) { return kitap.sayfa > 300; }); console.log(kalinKitaplar);

Sonuç:

[ { ad: "Yüzüklerin Efendisi", sayfa: 1200 }, { ad: "Sefiller", sayfa: 1463 } ]

Daha Kısa Yazım: Arrow Function ile

Callback fonksiyonu arrow function (ok fonksiyonu) kullanarak daha kısa yazabiliriz:

const kalinKitaplar = kitaplar.filter(kitap => kitap.sayfa > 300);

Aynı işi yapar ama kod daha sade olur.

Tarihe Göre Süzme: Filmler Örneği

Bir başka örnekte filmleri tarihe göre süzelim. Elimizde şu şekilde bir dizi var:

const filmler = [ { ad: "Matrix", yil: 1999 }, { ad: "Interstellar", yil: 2014 }, { ad: "Titanic", yil: 1997 }, { ad: "Inception", yil: 2010 } ];

2000 yılından sonra çıkan filmleri almak için:

const yeniFilmler = filmler.filter(film => film.yil > 2000); console.log(yeniFilmler);

Sonuç:

[ { ad: "Interstellar", yil: 2014 }, { ad: "Inception", yil: 2010 } ]

filter() ve map() Metotlarını Birlikte Kullanmak

Bazen filtrelediğimiz verilerin sadece belirli bir kısmını (örneğin sadece adlarını) almak isteyebiliriz. Bu durumda map() metodunu filter() ile birlikte kullanırız.

Örneğin: 1000 sayfadan fazla olan kitapların sadece adlarını almak:

const uzunKitapIsimleri = kitaplar .filter(kitap => kitap.sayfa > 1000) .map(kitap => kitap.ad); console.log(uzunKitapIsimleri); // ["Yüzüklerin Efendisi", "Sefiller"]

Burada:

  • filter() ile kalın kitapları seçtik.
  • map() ile sadece isimlerini aldık.

Bu yazım tarzı, iki işlemi tek adımda yapmamızı sağlar.

Orijinal Dizi Değişmez

Unutmamız gereken bir diğer önemli nokta: filter() orijinal diziyi asla değiştirmez. Her zaman yeni bir dizi üretir. Aşağıdaki kodda bunu test edebiliriz:

console.log(kitaplar); // Tüm kitaplar hâlâ duruyor, değişmedi

Sonuç

JavaScript’te filter() metodu, bir dizideki belirli koşulları sağlayan elemanları seçmek için oldukça kullanışlıdır. Özellikle:

  • Sayısal filtrelemelerde,

  • Nesne listelerinde belirli özelliklere göre seçim yaparken,

  • Daha okunabilir ve sade kod yazmak için map() ile birlikte kullanıldığında

    çok etkilidir.

Bu metodu anladığınızda, veri işleme konusunda çok daha güçlü olacaksınız. Kendi projelerinizde öğrenci listeleri, ürün katalogları veya herhangi bir veriyi filtrelemeniz gerektiğinde rahatlıkla kullanabilirsiniz.

Etiketler

#Eğitimler#JavaScript Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?
JavaScript Dersleri

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?

Web geliştirme, temel olarak üç ana yapı taşı üzerine kuruludur: **HTML, CSS ve JavaScript**. Bu üçlüden **HTML**, sayfanın iskeletini oluşturur, **CSS**, tasarımı ve görsel düzenlemeleri yapar

2 dk
JavaScript'e Giriş: JavaScript Nedir?
JavaScript Dersleri

JavaScript'e Giriş: JavaScript Nedir?

Web geliştirme yolculuğunuzda büyük bir adım atıyorsunuz! HTML ve CSS ile statik web sayfaları oluşturmayı öğrendiniz, ancak şimdi JavaScript ile sayfanıza hareket ve etkileşim katmanını eklemeye hazırsınız. JavaScript, web sayfalarını dinamik hale getiren ve kullanıcı etkileşimlerini yöneten

3 dk
JavaScript Değişkenler (Variables) Nedir?
JavaScript Dersleri

JavaScript Değişkenler (Variables) Nedir?

JavaScript, web geliştirme dünyasının en önemli dillerinden biridir. Dinamik web siteleri, interaktif uygulamalar, oyunlar ve animasyonlar gibi birçok alanda kullanılır. Ancak, bu tür gelişmiş uygulamalar oluşturabilmek için önce JavaScript'in temellerini anlamak gerekir. Bu

4 dk
JavaScript İlkel (Primitive) Veri Tipleri
JavaScript Dersleri

JavaScript İlkel (Primitive) Veri Tipleri

JavaScript, modern web geliştirmede vazgeçilmez bir programlama dilidir. Web sitelerini daha dinamik hale getirmek, etkileşim eklemek ve hatta oyunlar ve uygulamalar geliştirmek için kullanılır. Ancak, bu eğlenceli ve güçlü özelliklere ulaşmadan önce, JavaScript'in temellerin

4 dk
JavaScript'te Sayılar ve Matematiksel Operatörler
JavaScript Dersleri

JavaScript'te Sayılar ve Matematiksel Operatörler

JavaScript, modern web geliştirmede en yaygın kullanılan programlama dillerinden biridir. Bu dilde çalışırken sayılarla sıkça işlem yaparız. İster bir hesap makinesi uygulaması geliştiriyor olun, ister bir oyundaki puan sistemini kodluyor olun, sayılar kaçınılmaz bir parçadır. JavaScri

4 dk
JavaScript'te Boolean Veri Tipi
JavaScript Dersleri

JavaScript'te Boolean Veri Tipi

JavaScript'ı öğrenmeye yeni başlayanlar için veri tipleri oldukça önemlidir. Bu yazıda, en temel veri tiplerinden biri olan **Boolean (mantıksal) değerleri** inceleyeceğiz. Boolean değerleri, programlamada sıklıkla kullanılan ve kodlarımızın man

3 dk