# JS'de map, filter, find ve reduce Fonksiyonları

Javascript'te `.map()`, `.filter()`, `.find()` ve `.reduce()` gibi metodlar, bir dizi üzerinde işlem yapmak için kullanılan çok kullanışlı fonksiyonlardır.

Bu fonksiyonlar, kod yazarken verimliliği artırmak için kullanılabilir.

## **.map()**

`.map()` metodu, bir dizi üzerinde gezinir ve her bir elemana belirli bir işlem uygular. Bu metodun kullanımı, bir dizi üzerindeki tüm elemanları tek tek değiştirmek veya yeni bir dizi oluşturmak için oldukça yararlıdır. Örneğin:

```javascript
const sayilar = [1, 2, 3, 4, 5];

const carpilanSayilar = sayilar.map((sayi) => sayi * 2);

console.log(carpilanSayilar);
// Output: [2, 4, 6, 8, 10]
```

Yukarıdaki örnekte, `.map()` metodu `sayilar` dizisi üzerinde gezinir ve her bir sayıyı ikiyle çarparak yeni bir dizi oluşturur. Sonuç olarak, `carpilanSayilar` adlı yeni bir dizi oluşur.

## **.filter()**

`.filter()` metodu, bir dizi üzerinde gezinir ve belirli bir koşulu sağlayan tüm elemanları içeren yeni bir dizi oluşturur. Bu metodun kullanımı, bir dizi içerisindeki elemanları filtrelemek için oldukça yararlıdır. Örneğin:

```javascript
const sayilar = [1, 2, 3, 4, 5];

const ciftSayilar = sayilar.filter((sayi) => sayi % 2 === 0);

console.log(ciftSayilar);
// Output: [2, 4]
```

Yukarıdaki örnekte, `.filter()` metodu `sayilar` dizisi üzerinde gezinir ve sadece çift sayıları içeren yeni bir dizi oluşturur. Sonuç olarak, `ciftSayilar` adlı yeni bir dizi oluşur.

## **.find()**

`.find()` metodu, bir dizi üzerinde gezinir ve belirli bir koşulu sağlayan ilk elemanı döndürür. Bu metodun kullanımı, bir dizi içerisinde belirli bir elemanı bulmak için oldukça yararlıdır. Örneğin:

```javascript
const sayilar = [1, 2, 3, 4, 5];

const ucunKati = sayilar.find((sayi) => sayi % 3 === 0);

console.log(ucunKati);
// Output: 3
```

Yukarıdaki örnekte, `.find()` metodu `sayilar` dizisi üzerinde gezinir ve üçün katı olan ilk sayıyı döndürür. Sonuç olarak, `ucunKati` adlı değişkene 3 değeri atanır.

## **.reduce()**

`.reduce()` metodu, bir dizi üzerinde gezinir ve dizideki tüm elemanların toplamını veya başka bir işlemi yapar. Bu metodun kullanımı, bir dizi içerisindeki elemanları bir araya getirmek veya bir hesaplama yapmak için oldukça yararlıdır. Örneğin:

```javascript
const sayilar = [1, 2, 3, 4, 5];

const toplam = sayilar.reduce((acc, sayi) => acc + sayi, 0);

console.log(toplam);
// Output: 15
```

Yukarıdaki örnekte, `.reduce()` metodu `sayilar` dizisi üzerinde gezinir ve tüm elemanların toplamını hesaplar. `acc` adlı bir değişken, her iterasyonda önceki değeri korumak için kullanılır ve `0` değeri, ilk iterasyonda `acc` değerinin ne olacağını belirler. Sonuç olarak, `toplam` adlı bir değişkene 15 değeri atanır.

Bu dört metodun kullanımı, bir dizi üzerinde işlem yapmak için oldukça yararlıdır ve Javascript kodlarının okunaklığını artırır. Bu metodları, proje gereksinimlerinize göre kullanarak kodunuzun performansını artırabilirsiniz.
