Salt la conținutul principal
Modulul 6 · Lecția 3 din 423/32 în curs~10 min
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

JS
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 matches

Varianta findIndex: returnează indexul (sau -1).

some: cel puțin unul

JS
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 false

every: toate

JS
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ă

Exercițiu#js.m6.l3.e1
Încercări: 0Se încarcă…

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.

Se încarcă editorul...
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

Exercițiu#js.m6.l3.e2
Încercări: 0Se încarcă…

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.

Se încarcă editorul...
Afișează indiciu

lungime > 0 && nums.every(n => n > 0)

Soluție disponibilă după 3 încercări