JavaScript hap yazısı : Array.some(), Array.every() ve Array.findIndex()💡

Murat Dogan
Mar 23, 2018 · 3 min read

Herkese tekrardan merhaba! Bu yazımda sizlere yine çok işinize yarayacak ufak bilgiler vereceğim. Daha fazla kişinin bu bilgilere erişmesi için beğenmeyi ve paylaşmayı unutmayın :)

Image for post
Image for post
Credit: Unsplash.com

Array.some()

Burada some methodu bir callback ve index alıyor parametre olarak. Callback fonksiyonu içerisindeki koşul true dönene kadar çalışır. Truthy dediğimiz değeri bulduğu an çalışmayı durdurur ve true döner. Eğer öyle bir değer bulamazsa false döner.

Hemen güzel bir örnek ile pekiştirelim.

const years = [1989, 2000, 2018, 1970]; // 4 adet sene içeren bir arrayimiz olsun.years.some(function(year){
return year >= 2000; // 2000'den büyük olan yıllardan varsa
});

Yukarıdaki method true dönecek çünkü 2000'e eşit ya da 2000'den büyük dizi elemanı mevcut.

Adettendir, yukarıdaki fonksiyonu tek satır halinde ES6 kullanarak yazalım:

const years = [1989, 2000, 2018, 1970]; // 4 adet sene içeren bir arrayimiz olsun.years.some(year => year >= 2000); // 2000'den büyük ya da eşit olan yıllardan varsa

Gördüğünüz üzere fat arrow fonksiyonunu kullanarak hızlıca değeri return ettirdik ve kodumuz kısaldı.

Array.every()

Burada every methodu bir callback ve index alıyor parametre olarak. Callback fonksiyonu içerisindeki koşul falsy bir değer dönene kadar çalışır.

every çağırıldığı diziyi etkilemez, değiştirmez.

Hemen güzel bir örnek ile pekiştirelim.

const years = [1989, 2000, 2018, 1970]; // 4 adet sene içeren bir arrayimiz olsun.years.every(function(year){
return year >= 2000; // 2000'den büyük ya da eşit olan yıllardan varsa
});

Yukarıdaki kod false dönecektir çünkü tüm yıllar 2000'e eşit ya da büyük değildi.

Bu aralar ES6'nın yaygınlaşması için çok uğraşıyorum o sebeple burada da tekrar ES6 ile yazalım:

const years = [1989, 2000, 2018, 1970]; // 4 adet sene içeren bir arrayimiz olsun.years.every(year => year >= 2000); // 2000'den büyük olan yıllardan varsa

Array.findIndex();

Özetle yaptığı iş, diziye method geçerken, test kuralına ilk uyan elemanın indexini bulmaya yarıyor. Bu index bilgisi ile ilgili diziden gerekli çıkartma, ekleme vb gibi işlemleri yapabilirsiniz.

Eğer dizi içerisinde varsa dizideki indexini veriyor, yoksa da -1 olarak dönüş yapıyor.

const years = [1989, 2000, 2018, 1970]; // 4 adet sene içeren bir arrayimiz olsun.function ilkBuyukRakamiBul(element) {
return element > 2000;
}
console.log(years.findIndex(ilkBuyukRakamiBul));
// Beklenen çıktı: 2 yani 2018

Bunu nerede kullanabilirsiniz? Tamamen hayal gücünüze bağlı olmakla beraber eğer API üzerinden bir şeyler yapıyorsanız muhakkak çok güçlü oluyor.

Okuduğunuz için çok teşekkür ederim. Like butonu ve paylaşım çok önemli! Atlamayalım :)


Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store