Lecții din modul (3/4)
găsi, unii, fiecare
Trei metode compacte de căutare într-o matrice fără a scrie bucla manual.
find: primul care se potrivește
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 matchesVarianta findIndex: returnează indexul (sau -1).
some: cel puțin unul
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: toate
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!Asimetria lui some și every pe matricele goale este intenționată și consecventă logic cu
operatorii logici „există” (∃) și „pentru toți” (∀).
Încearcă
Definiți `firstAdult(users)`: având o matrice de { name, age }, returnați numele primului cu vârsta >= 18, sau null dacă nu există. Folosește find.
Afișează indiciu
utilizatori.găsi(...); dacă este găsit returnează u.name, în caz contrar null.
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
Definiți `allPositive(nums)`: returnează adevărat dacă toate elementele nums sunt > 0 (și tabloul NU este gol), în caz contrar, false. Utilizați fiecare + o verificare de lungime.
Afișează indiciu
lungime > 0 && nums.every(n => n > 0)
Soluție disponibilă după 3 încercări