Tüm blog yazıları

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

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

eminbasbayan4 dk okuma
JavaScript'te every() ve some() Metotları

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ı:

jsx
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.

jsx
const izinDurumlari = [true, true, true, true];

const herkesGetirdiMi = izinDurumlari.every(function (durum) {
  return durum === true;
});

console.log(herkesGetirdiMi); // true

Bu durumda, tüm öğrenciler izin kağıdını getirdiği için sonuç true olur.

Şimdi bir öğrenci getirmemiş olsun:

jsx
const izinDurumlari = [true, true, false, true];

const herkesGetirdiMi = izinDurumlari.every(function (durum) {
  return durum === true;
});

console.log(herkesGetirdiMi); // false

Bir 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ı?

jsx
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); // true

Ama bir ürün tükenmişse:

jsx
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); // false

2. 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ı:

jsx
dizi.some(function(eleman) {
  // Şart buraya yazılır
});

Örnek:

Bir arkadaş grubunda kimlerin ehliyeti olduğunu kontrol edelim:

jsx
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:

jsx
const ehliyetDurumlari = [false, false, false, false];

const birisiEhliyetliMi = ehliyetDurumlari.some(function (durum) {
  return durum === true;
});

console.log(birisiEhliyetliMi); // false

Gerçek Hayattan Bir Senaryo:

Bir kitaplıkta en az bir kitabın sayfa sayısı 500’den fazla mı?

jsx
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); // true

Karşılaştırmalı Tablo:

MetotNe Yapar?Ne Zaman true Döner?
every()Tüm elemanlar koşulu sağlıyor mu kontrol ederTüm elemanlar koşulu sağlıyorsa
some()En az bir eleman koşulu sağlıyor mu kontrol ederBir 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.

JavaScript Classes ile pratik uygulamalar, metotlar arası iletişim ve gerçek dünya kod örnekleri
JavaScript Dersleri9 dk okuma

JavaScript Classes - Pratik Uygulamalar

JavaScript class'ları ile pratik uygulamalara geçin! Metotlar arası iletişimden constructor'da metot çağırmaya, kod tekrarını azaltmaktan gerçek dünya senaryolarına kadar class kullanımının inceliklerini keşfedin. Kendi alışveriş sepeti örneğinizle bilginizi pekiştirin.

Yazıyı oku
JavaScript class yapısını gösteren bir kod örneği, ES6 ile modern nesne oluşturma
JavaScript Dersleri9 dk okuma

JavaScript Classes

ES6 ile JavaScript'e gelen class yapısı sayesinde nesne oluşturmak artık çok daha kolay ve düzenli! Constructor function karmaşasından kurtulup, okunabilir ve yönetilebilir kodlar yazmak isteyenler için modern JavaScript'in temel taşı olan class'ları tüm detaylarıyla keşfedin. Bu rehberle nesne şabl

Yazıyı oku
JavaScript kodunda Constructor Function ve new keyword'ü ile nesne oluşturma örnekleri
JavaScript Dersleri8 dk okuma

Constructor Functions ve new Keyword

Factory Function'ların hafıza israfı sorununa Constructor Function'lar ve new keyword'ü ile son verin! Metotları paylaştırarak JavaScript objelerini daha verimli nasıl oluşturacağınızı, new'in perde arkasında neler yaptığını ve prototype sisteminin gücünü bu rehberde keşfedin.

Yazıyı oku

Çerez tercihlerin

Platformun çalışması için zorunlu çerezler kullanıyoruz. İzin verirsen anonim kullanım verilerini ölçüyoruz. Ayrıntıları incele