Javascript 22 — Reduce Fonksiyonu

Ömer Çelik
1 min readJan 6, 2020

--

reduce fonksiyonu 2 parametre alır;
ilk parametre işlemin yapılacağı bir fonksiyon (reducer fonksiyonu),
diğer parametre ise ilk değerdir.

Reduce fonksiyonu, data dizisinin her bir elemanı kadar reducer fonksiyonunu çağırır.
Bu işlemin sonucunu kümülatif olarak hesaplar. Yapılan her işlemin sonucu bir sonraki fonksiyon çağrımına ilk parametre olarak aktarılır.

0 2 2
2 4 6
6 6 12
12 8 20

Veya dizilerde gruplama yapmamıza yardımcı olur.
Örneğin ; elimizde bir array var diyelim. Bu array içerisindeki objelerin nodeId’lerine göre bir array’e pushlamak istiyoruz. Diyelim ki 3 tane nodeId’si 1 olan varsa bir map tutacağız.
Yani elimizde aşağıdaki gibi bir array var. NodeId’lerine göre bir map de tutmak istiyoruz.
NodeId’ye karşılık personListesi tutacağız.

Data :

0: person: {name: “Omer”, nodeId: “1”}
1: person: {name: “Fatma”, nodeId: “1”}
2: person: {name: “Sila”, nodeId: “1”}
3: person: {name: “Durali”, nodeId: “2”}
4: person: {name: “Zekai”, nodeId: “2”}
5: person: {name: “Ahmet”, nodeId: “3”}

İstenen Sonuç :

1: Array(3)
0: person: {name: “Omer”, nodeId: “1”}
1: person: {name: “Fatma”, nodeId: “1”}
2:person: {name: “Sila”, nodeId: “1”}

2: Array(2)
0: person: {name: “Durali”, nodeId: “2”}
1:person: {name: “Zekai”, nodeId: “2”}

3: Array(1)
0:person: {name: “Ahmet”, nodeId: “3”}

Sonuç :

Object
1: Array(3)
0: person: {name: “Omer”, nodeId: “1”}
1: person: {name: “Fatma”, nodeId: “1”}
2:person: {name: “Sila”, nodeId: “1”}

2: Array(2)
0: person: {name: “Durali”, nodeId: “2”}
1:person: {name: “Zekai”, nodeId: “2”}

3: Array(1)
0:person: {name: “Ahmet”, nodeId: “3”}

Makalelerimin tamamına erişmek isteyen arkadaşlar için hepsinin linkinin bulunduğu bir tutorial hazırladım. Aşağıdaki linkte paylaşıyorum.

https://medium.com/@omercelikceng/javascript-makalelerimin-tamam%C4%B1-45a71ac3b386

--

--