Dizilerde Fonksiyon Kullanımı: Map, Filter, Reduce ()

Dizilerde Fonksiyon Kullanımı: Map, Filter, Reduce ()

JavaScript'teki dizi işlemlerinde sıkça kullanılan Map, Filter ve Reduce fonksiyonlarına değinilen bu yazıda, Map fonksiyonunun belirli bir işlemi yaparak yeni bir dizi oluşturduğu, Filter fonksiyonunun belirli koşulları sağlayan elemanları filtreleyerek yeni bir dizi oluşturduğu, Reduce fonksiyonunun ise dizi elemanlarını tek bir değere dönüştürdüğü ve bu değeri tek bir sonuçta döndürdüğü belirtiliyor Ayrıca, Filter fonksiyonunun kullanıcının arama sorgusu gibi durumlarda da kullanılabileceği ve filtrelenen verilere göre yeniden bir dizi oluşturmak için kullanılabileceği vurgulanıyor

Dizilerde Fonksiyon Kullanımı: Map, Filter, Reduce ()

JavaScript yazılım dilinde, dizi işlemleri oldukça yaygındır ve bu işlemlerin yapılmasında Map, Filter ve Reduce() fonksiyonları sıkça kullanılmaktadır. Bu fonksiyonlardan biri dizi elemanlarını belirli bir işleme tabii tutarak yeni bir dizi oluştururken, diğeri belirli bir koşulu sağlayan elemanların olduğu yeni bir dizi oluşturmakta ve sonuncusu ise dizi elemanlarını tek bir değere dönüştürerek bu değeri tek bir sonuçta döndürmektedir.

Map() fonksiyonu, dizi elemanlarının her biri için belirli bir işlemi yaparak, yeni bir dizi oluşturmaktadır. Bu işlem sonucu oluşan yeni dizi, orijinal dizi ile aynı uzunlukta ve yeni elemanlarla doludur. Map() fonksiyonu, özellikle yeni bir dizi oluşturulması gereken durumlarda kullanılmaktadır. Bu fonksiyon sayesinde, orijinal dizideki elemanlar modifiye edilmez ve yeni bir dizi oluşturulur. Bu sebeple, orijinal dizideki elemanların güncellenmesi gereken durumlarda kullanıcılar bu fonksiyonu tercih etmemektedirler.

Filter() fonksiyonu ise belirli bir koşulu sağlayan elemanların olduğu yeni bir dizi oluşturmaktadır. Bu koşul, kullanıcı tarafından belirlenir ve belirli bir kontrol yapıldıktan sonra elemanların olduğu yeni dizi oluşturulur. Bu fonksiyon, elemanların orijinal dizide kalmasını engellemez ve koşulu sağlamayan elemanları orijinal dizide bırakır. Böylece, Filter() fonksiyonu, orijinal dizideki elemanların belirli bir koşula göre filtrelenmesine olanak tanır. Ayrıca, kullanıcının arama sorgularına göre dizideki elemanları filtrelemekte de kullanılır.

Reduce() fonksiyonu ise dizi elemanlarını tek bir değere dönüştürerek, bu değeri tek bir sonuçta döndürmektedir. Orijinal dizi elemanları, tek bir değere dönüştürüldükten sonra orijinal dizinin her elemanı için ayrı ayrı işlem yapılmaz. Reduce() fonksiyonu, başlangıç değeri alır ve her bir dizi elemanının üzerinde işlemler yaparak bu başlangıç değeri güncellenir. Birçok matematiksel işlemde kullanılabildiği için oldukça yaygın bir fonksiyondur.


Map () Fonksiyonu

JavaScript programlama dilinde, dizi işlemlerinde sıklıkla kullanılan Map () fonksiyonu, dizinin her elemanını belirli bir işleme tabi tutarak yeni bir dizi oluşturur ve oluşturulan bu diziyi döndürür. Map () fonksiyonu genellikle dizi elemanlarını manipüle etmek veya dönüştürmek için kullanılır.

Map () fonksiyonu, orijinal diziyi değiştirmez. Yeni bir dizi oluşturulur ve bu dizi sonuç olarak döndürülür. Bu işlem sırasında her eleman, belirli bir işleme tabi tutulur. Bu işlem sonucunda oluşan yeni dizi, orijinal dizinin boyutuna sahip olabilir veya daha küçük bir boyuta sahip olabilir.

Örneğin, bir dizi içindeki sayıların karekökünü almamız gerektiğini düşünelim. Bu işlemi yapmak için Map () fonksiyonu kullanabiliriz. Bu sayede her elemanın karekökü alınarak yeni bir dizi oluşturulur ve sonuç olarak bu dizi döndürülür.

Orijinal Dizi Yeni Dizi
[2, 4, 6, 8] [1.4142135623730951, 2, 2.449489742783178, 2.8284271247461903]

Bu örnekte görüldüğü gibi orijinal dizi değişmemiş ve Map () fonksiyonu tarafından oluşturulan yeni bir dizi sonuç olarak döndürülmüştür.

Map () fonksiyonu, hem sayısal hem de metinsel verilerle çalışmak için kullanılabilir. Fonksiyon, herhangi bir işlemi gerçekleştirebilir. Ancak, kullanılan işlemin sonucu bir değer döndürmelidir. Map () fonksiyonu, dizi elemanlarına uygulanan işlem sonunda, ortaya çıkan sonuçları kullanarak yeni bir dizi oluşturur.


Filter () Fonksiyonu

Filter () fonksiyonu, bir dizi içinde belirli koşulları sağlayan elemanları filtrelemek için kullanılır. Bu koşul, bir ifade ya da fonksiyon şeklinde belirlenebilir. Fonksiyon, belirli koşulu sağlayan elemanları içeren yeni bir dizi oluşturur ve bu diziyi döndürür. İşleme tabii tutulmayan elemanlar oluşturulan yeni dizide yer almazlar.

Bu fonksiyonu kullanarak filtrelenen verilere göre yeniden bir dizi oluşturabilirsiniz. Bu işlem, ana diziyi etkilemez. Filter() fonksiyonunun bir diğer kullanımı ise kullanıcının arama sorgusuna göre dizideki elemanları filtrelemektir. Bu yöntemle belirli bir arama kelimesine göre dizideki elemanlar filtrelenir ve bu elemanları içeren yeni bir dizi oluşturulur.

Bir örnek olarak, bir e-ticaret sitesinde müşteri tarafından yapılan aramaya göre ürünlerin filtrelenmesi söz konusu olabilir. Kullanıcının seçtiği renk, fiyat aralığı ya da marka gibi kriterlere göre dizideki ürünler filtrelenir ve yeni bir dizi oluşturulur. Bu sayede kullanıcının daha doğru ve hızlı bir şekilde ihtiyacı olan ürünlere ulaşması sağlanır.

Ayrıca Filter () fonksiyonu, diğer fonksiyonlarla birlikte kullanılarak daha gelişmiş işlemler gerçekleştirilebilir. Örneğin, bir dizi içindeki tek sayıları bulmak için önce dizideki tüm elemanları filtrelemek ve sonra bulunan sayılar üzerinde gerekli işlemleri yaparak sonuçları tek bir dizi halinde geri döndürmek mümkündür.


Orneğin filtrelenen verilere göre yeniden bir dizi oluşturmak için kullanılır.

Map, Filter ve Reduce () fonksiyonları JavaScript'teki dizi işlemlerinde sıklıkla kullanılır. Filter () fonksiyonunun bir diğer kullanımı ise, kullanıcının arama sorgusuna göre dizideki elemanları filtrelemektir. Ayrıca, Filter fonksiyonu, belirli bir koşulu sağlayan elemanların bulunduğu yeni bir dizi oluşturur ve bu diziyi döndürür. Örneğin, filtrelenen verilere göre yeniden bir dizi oluşturmak için kullanılır. Bu ana diziye işlem uygulanmaz ve işleme tabii tutulmayan elemanlar, oluşturulan yeni dizide yer almazlar.

Reduce () fonksiyonu ise, dizinin her elemanını tek bir değere dönüştürür ve bu değeri tek bir sonuçta döndürür. Bir başlangıç değeri alır ve her bir dizi elemanının üzerinde işlemler yaparak bu başlangıç değerini güncelleyerek sonuç üretir. Reduce () fonksiyonu, birçok matematiksel işlemde kullanılabilir.

Bu fonksiyonlar, bir dizi üzerinde işlem yaparken zaman kazandıran ve kodun daha okunaklı hale gelmesini sağlayan önemli araçlardır. Ayrıca, bu fonksiyonlar, daha az kod yazarak daha az hata yapmanıza yardımcı olur. Dolayısıyla, JavaScript programlama dili içindeki fonksiyon kullanımını anlamak ve bunları etkili bir şekilde kullanmak, geliştiriciler için önemli bir beceridir.


Bir başlangıç değeri alır ve her bir dizi elemanının üzerinde işlemler yaparak bu başlangıç değerini güncelleyerek sonuç üretir

Reduce () fonksiyonu, dizi elemanlarının üzerine işlem yaparak, sonuçta tek bir değer döndürmek amacıyla kullanılır. Bu işleme başlamadan önce, fonksiyonun bir başlangıç değeri alır. Dizinin ilk elemanı ile işlem yapar ve sonucu başlangıç değeri olarak belirlenen değere atar.

Daha sonra, sıradaki eleman ile işlem yapar ve bu işlemin sonucunu yine başlangıç değeri ile birleştirerek yeni bir sonuç oluşturur. Bu süreç, tüm dizi elemanlarını kapsayacak şekilde devam eder ve en sonunda, tek bir sonuç döndürülür.

Reduce fonksiyonu, matematiksel işlemlerde sıklıkla kullanılır. Örneğin, bir dizi sayının toplamını bulmak için reduce fonksiyonu kullanılabilir. Başlangıç değeri olarak sıfır atanır ve dizideki tüm elemanlar tek tek toplama işlemine tabi tutularak sonuç hesaplanır.

Dizi Başlangıç Değeri Sonuç
[1, 2, 3, 4] 0 10
  • Başlangıç değeri olarak 0 atanmıştır.
  • 1. adımda, 0 + 1 = 1
  • 2. adımda, 1 + 2 = 3
  • 3. adımda, 3 + 3 = 6
  • 4. adımda, 6 + 4 = 10
  • Sonuç olarak, 10 döndürülür.

Reduce fonksiyonu, toplama işlemi dışında, çarpma, çıkarma, bölme gibi matematiksel işlemlerde de kullanılabilir. Ayrıca, dizideki elemanların ortalamasını bulmak, en büyük ya da en küçük elemanı bulmak gibi işlemlerde de reduce fonksiyonu kullanılabilir.