CodeBlanks Logo Icon CodeBlanks

find ve some

.find ve .some ile arama ve kontrol öğrenirsin.

find ve some

find metodu, koşula uyan ilk elemanı döndürür. Hiçbiri uymazsa undefined döner. Tüm eşleşmeleri değil, yalnızca ilkini istiyorsan find kullanılır.

some metodu ise koşula uyan en az bir eleman var mı diye sorar. Sonuç bir dizidir; true veya false döner. Elemanı kendisi değil, varlığını öğrenmek istediğinde some kullanılır.

Örnek: [1, 2, 3].find(n => n > 1) sonuçu 2'dir. [1, 2, 3].some(n => n > 2) ise true döner çünkü 3 koşulu sağlar.

some ve every farkı

some'un kardeşi every metodudur. some en az bir eleman koşulu sağlarsa true dönerken, every tüm elemanlar sağlarsa true döner. İkisi de mantıksal değer döndürür; dizi dönmez.

Boş diziyle çağrıldığında some her zaman false, every ise her zaman true döner. Bu mantıksal bir gerçektir: hiç eleman yokken 'en az biri sağlar' iddiası yanlış, 'hepsi sağlar' iddiası ise boş doğrudur.

Örnek: [2, 4, 6].every(n => n % 2 === 0) true döner çünkü hepsi çifttir. [1, 2, 3].every(n => n % 2 === 0) ise false döner.

Uygulama Kullanıcı ara

[{name:'Ayşe',age:30}, {name:'Alex',age:17}, {name:'Mara',age:25}] kullanıcılarından oluşan bir dizi tanımla. find ile yaşından büyük veya eşit 18 olan ilk kullanıcıyı bul ve adını console.log ile yazdır.

Başlangıç kodu

index.js
const users = [{name:'Ayşe',age:30}, {name:'Alex',age:17}, {name:'Mara',age:25}];
// 18 yaş ve üzeri ilk kullanıcıyı bul ve adını yazdır

Örnek çözüm

index.js
const users = [{name:'Ayşe',age:30}, {name:'Alex',age:17}, {name:'Mara',age:25}];
const adult = users.find(u => u.age >= 18);
console.log(adult.name);

Beklenen çıktı

Ayşe

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 find ne döndürür?

  • true
  • İlk eşleşen eleman Doğru cevap
  • Tüm eşleşmeler
  • Yeni dizi

Açıklama: find koşula uyan ilk elemanı döndürür.

2 Reşit olan var mı?

Soru
const ages = [12, 17, 21];
const hasAdult = ages.some(age => age ____ 18);
Cevap
const ages = [12, 17, 21];
const hasAdult = ages.some(age => age >= 18);

Açıklama: age >= 18 ile 21 yakalanır, some true döner.

3 Metotları eşle

Kavram Anlamı
find İlk eşleşen eleman
some En az biri uyuyor mu
every Hepsi uyuyor mu
undefined Hiçbiri uymazsa find'in sonuçu

Başlangıç bölümündeki tüm dersler