JavaScript'te every() ve some() Metotları
eminbasbayan

İçindekiler
Bu yazıda neler var?
Programlamada, özellikle JavaScript’te çalışırken, elimizde bir dizi (array) olduğunda bu dizideki elemanlarla bazı testler yapmak isteriz. Örneğin bir listedeki tüm ürünlerin stokta olup olmadığını kontrol etmek ya da en az bir ürünün indirimde olup olmadığını öğrenmek gibi.
İşte bu tür durumlarda, JavaScript bize iki pratik yöntem sunar: every() ve some().
Bu iki metodun temel amacı şudur:
Bir dizideki öğelerin bir koşulu sağlayıp sağlamadığını test etmek.
Ama bunu yaparken farklı sorular sorarlar:
every(): Tüm elemanlar bu kurala uyuyor mu?some(): En az bir eleman bu kurala uyuyor mu?
Bu iki metot, sonuç olarak Boolean bir değer döner: ya true ya da false. Şimdi bu metotları detaylıca inceleyelim.
1. every() Metodu: "Hepsi mi?"
Tanım:
every() metodu, bir dizideki tüm elemanların belirli bir koşulu sağlayıp sağlamadığını kontrol eder. Eğer tüm elemanlar koşulu sağlıyorsa, sonuç true olur. Ama bir tanesi bile sağlamıyorsa, sonuç false döner.
Kullanımı:
dizi.every(function(eleman) {
// Şart buraya yazılır
});Örnek:
Bir okulda düzenlenen etkinlik için öğrencilerin velilerinden izin kağıdı getirmesi gerekiyor. İzin kağıtları gelmiş mi, hepsine bakalım.
const izinDurumlari = [true, true, true, true];
const herkesGetirdiMi = izinDurumlari.every(function (durum) {
return durum === true;
});
console.log(herkesGetirdiMi); // trueBu durumda, tüm öğrenciler izin kağıdını getirdiği için sonuç true olur.
Şimdi bir öğrenci getirmemiş olsun:
const izinDurumlari = [true, true, false, true];
const herkesGetirdiMi = izinDurumlari.every(function (durum) {
return durum === true;
});
console.log(herkesGetirdiMi); // falseBir kişi bile getirmediğinde sonuç false döner.
Gerçek Hayattan Bir Senaryo:
Bir e-ticaret sitesinde satılan ürünlerin hepsi "stokta" mı?
const urunler = [
{ ad: "Laptop", stok: 12 },
{ ad: "Klavye", stok: 5 },
{ ad: "Mouse", stok: 8 },
];
const hepsiStoktaMi = urunler.every(function (urun) {
return urun.stok > 0;
});
console.log(hepsiStoktaMi); // trueAma bir ürün tükenmişse:
const urunler = [
{ ad: "Laptop", stok: 12 },
{ ad: "Klavye", stok: 0 },
{ ad: "Mouse", stok: 8 },
];
const hepsiStoktaMi = urunler.every(function (urun) {
return urun.stok > 0;
});
console.log(hepsiStoktaMi); // false2. some() Metodu: "En az biri mi?"
Tanım:
some() metodu, dizideki en az bir elemanın verilen koşulu sağlayıp sağlamadığını kontrol eder. Eğer bir tane bile koşulu sağlıyorsa, sonuç true olur. Hiçbiri sağlamıyorsa false döner.
Kullanımı:
dizi.some(function(eleman) {
// Şart buraya yazılır
});Örnek:
Bir arkadaş grubunda kimlerin ehliyeti olduğunu kontrol edelim:
const ehliyetDurumlari = [false, false, true, false];
const birisiEhliyetliMi = ehliyetDurumlari.some(function (durum) {
return durum === true;
});
console.log(birisiEhliyetliMi); // true
Bir kişi bile ehliyetliyse sonuç true olur.
Ama herkes ehliyetsizse:
const ehliyetDurumlari = [false, false, false, false];
const birisiEhliyetliMi = ehliyetDurumlari.some(function (durum) {
return durum === true;
});
console.log(birisiEhliyetliMi); // falseGerçek Hayattan Bir Senaryo:
Bir kitaplıkta en az bir kitabın sayfa sayısı 500’den fazla mı?
const kitaplar = [
{ ad: "Simyacı", sayfa: 190 },
{ ad: "Kürk Mantolu Madonna", sayfa: 160 },
{ ad: "Savaş ve Barış", sayfa: 1225 },
];
const uzunKitapVarMi = kitaplar.some(function (kitap) {
return kitap.sayfa > 500;
});
console.log(uzunKitapVarMi); // trueKarşılaştırmalı Tablo:
| Metot | Ne Yapar? | Ne Zaman true Döner? |
|---|---|---|
every() | Tüm elemanlar koşulu sağlıyor mu kontrol eder | Tüm elemanlar koşulu sağlıyorsa |
some() | En az bir eleman koşulu sağlıyor mu kontrol eder | Bir tanesi bile sağlıyorsa |
Sonuç
every() ve some(), JavaScript’te dizi elemanlarını test etmek için kullanabileceğin çok güçlü ama basit araçlardır.
Eğer bir listede hepsinin bir kurala uymasını istiyorsan every(),
en az birinin uymasını istiyorsan some() kullanmalısın.
Bu metotları anlamak, daha okunabilir, daha kısa ve daha etkili JavaScript kodları yazmana yardımcı olur.






