some ve every
some ile en az bir eşleşmeyi ve every ile tüm elemanların şartını öğrenirsin.
some ve every
some en az bir elemanın koşulu sağlayıp sağlamadığını sorar; true ya da false döner. every ise tüm elemanların koşulu sağlamasını bekler.
İkisi de dizi değil, boolean döndürür. Bir sınıfta en az bir geçer not var mı diye some, tüm öğrenciler geçti mi diye every kullanırsın. Kısa devre yaparlar: some ilk true'da, every ilk false'ta durur.
every tüm elemanları ister
every, tüm elemanlar koşulu sağlarsa true verir; tek biri bile başarısızsa false döner. Boş diziye çağırırsan sonuç true olur; çünkü reddedilecek hiçbir şey yoktur.
Bu 'boş doğru' durumu bazen hatalara yol açar. Bir formdaki tüm alanların dolu olduğunu denetlerken boş formu kabul etmemek için uzunluğu ayrıca kontrol etmen gerekir.
Uygulama Tüm notlar geçer mi?
grades dizisindeki tüm notlar 50 ve üzeri mi diye every ile denetle. Sonucu allPassed değişkenine koy ve konsola yazdır.
Örnek çözümü göster
const grades = [60, 70, 80, 45];
// tümü 50 ve üzeri mi?
const allPassed = grades.every(grade => grade >= 50);
console.log(allPassed);
Uygulama En az bir negatif var mı?
temps dizisinde en az bir negatif değer var mı diye some ile denetle. Sonucu hasFrost değişkenine koy ve konsola yazdır.
Örnek çözümü göster
const temps = [3, -2, 8, 5];
// en az bir negatif var mı?
const hasFrost = temps.some(temp => temp < 0);
console.log(hasFrost);
Kendini test et
-
const r = [1,3,5].some(n => n > 4); sonucu ne olur?
const r = [1, 3, 5].some(n => n > 4);- 5
- [5]
- false
- true
Cevabı göster
true — Doğru. 5, 4'ten büyük olduğu için some true döner.
-
tüm notlar 50 ve üzeri mi?
const grades = [60, 70, 80]; const allPassed = grades.every(g => ____); console.log(allPassed);Cevabı göster
const grades = [60, 70, 80]; const allPassed = grades.every(g => g >= 50); console.log(allPassed); -
Senaryoyu uygun yöntemle eşleştir
- en az bir negatif var mı
- some
- hepsi pozitif mi
- every
- ilk 100'den büyük
- find
- koşulu sağlayanların listesi
- filter