CodeBlanks Logo Icon CodeBlanks

find ile bulma

JavaScript kursu · Başlangıç · Ders 67/133

find ile koşulu sağlayan ilk elemanı döndürmeyi öğrenirsin.

find ile bulma

find metodu, koşulu sağlayan ilk elemanı döndürür. Geriye elemanların kendisini verir; dizi veya indeks değil. Hiçbiri eşleşmezse undefined döner.

Bu yüzden find 'bir tane bul, gerisini umursama' demek ister. Bir kullanıcı listesinde yönetici rolündeki ilk kişiyi yakalamak için uygundur. Daha sonraki eşleşmeleri önemsemediğin durumları ayırt et.

find ile filter arasındaki fark

find tek bir eleman döndürür, filter ise bir dizi döndürür. İlki eşleşen ilk öğede durur; ikincisi tümünü toplar.

Yalnızca bir tane sonucun işine yaradığı durumlarda find daha temizdir. Örneğin bir listeden ilk müsait koltuğu bulmak için find yeter. Tüm müsait koltukları listelemek istersen filter gerekir.

Uygulama İlk yetişkin kullanıcıyı bul

users dizisinden age değeri 18 ve üzeri olan ilk kullanıcıyı firstAdult değişkenine koy. Sonucu konsola yazdır.

Örnek çözümü göster
const users = [{name: "Ed", age: 16}, {name: "Ada", age: 22}, {name: "Bob", age: 30}];
// ilk yetişkini bul
const firstAdult = users.find(u => u.age >= 18);
console.log(firstAdult);

Uygulama Eşik değerini geçen ilk notu bul

grades dizisinden 50'den büyük olan ilk notu firstPass değişkenine koy. Sonucu konsola yazdır.

Örnek çözümü göster
const grades = [20, 45, 55, 80];
// 50'den büyük ilk notu bul
const firstPass = grades.find(grade => grade > 50);
console.log(firstPass);

Kendini test et

  1. const r = [1,2,3].find(n => n > 10); işleminden sonra r ne olur?

    const r = [1, 2, 3].find(n => n > 10);
    • -1
    • undefined
    • null
    • []
    Cevabı göster

    undefined — Doğru. Hiçbir sayı 10'dan büyük olmadığı için find undefined döner.

  2. ilk yetişkin kullanıcının adını bul

    const users = [{age: 17}, {age: 21}, {age: 30}];
    const adult = users.find(u => ____);
    console.log(adult);
    Cevabı göster
    const users = [{age: 17}, {age: 21}, {age: 30}];
    const adult = users.find(u => u.age >= 18);
    console.log(adult);

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