Modül dersleri (3/4)
bazılarını, her birini bul
Döngüyü elle yazmadan bir dizide arama yapmak için üç kompakt yöntem.
find: eşleşen ilk kişi
const utenti = [
{ nome: 'Anna', eta: 30 },
{ nome: 'Luca', eta: 12 },
{ nome: 'Sara', eta: 18 },
];
utenti.find((u) => u.eta >= 18);
// { nome: 'Anna', eta: 30 }
utenti.find((u) => u.nome === 'Marco');
// undefined ← if none matchesfindIndex değişkeni: dizini (veya -1) döndürür.
some: en az bir
const nums = [1, 2, 3, 4, 5];
nums.some((n) => n > 4); // true
nums.some((n) => n > 100); // false
[].some(() => true); // false ← on an empty array it is always falseevery: hepsi
const nums = [1, 2, 3, 4, 5];
nums.every((n) => n > 0); // true
nums.every((n) => n > 2); // false
[].every(() => false); // true ← on an empty array it is always true!Boş dizilerdeki some ve every asimetrisi kasıtlı ve mantıksal olarak tutarlıdır
"var" (∃) ve "herkes için" (∀) mantıksal operatörleri.
Deneyin
'firstAdult(users)'ı tanımlayın: { name, age } dizisi verildiğinde, age >= 18 olan ilkinin adını döndürün veya yoksa null değerini döndürün. Bul'u kullanın.
İpucu göster
kullanıcılar.find(...); bulunursa u.name değerini döndürür, aksi halde null.
3 denemeden sonra çözüm mevcut
Alıştırmayı gözden geçirin
'allPositive(nums)'ı tanımlayın: nums'un tüm öğeleri > 0 ise (ve dizi boş DEĞİLSE) true değerini döndürün, aksi halde false değerini döndürün. Her + a uzunluk kontrolünü kullanın.
İpucu göster
uzunluk > 0 && sayılar.every(n => n > 0)
3 denemeden sonra çözüm mevcut