Saltar al contenido principal
eLearner.app
Módulo 6 · Lección 3 de 423/32 en el curso~10 min
Lecciones del módulo (3/4)

find, some, every

Tre metodi compatti per cercare in un array senza scrivere il loop a mano.

find: il primo che soddisfa

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  ← se nessuno corrisponde

Variante findIndex: restituisce l'indice (o -1).

some: almeno uno

JS
const nums = [1, 2, 3, 4, 5];

nums.some((n) => n > 4); // true
nums.some((n) => n > 100); // false

[].some(() => true); // false  ← su array vuoto è sempre false

every: tutti

JS
const nums = [1, 2, 3, 4, 5];

nums.every((n) => n > 0); // true
nums.every((n) => n > 2); // false

[].every(() => false); // true  ← su array vuoto è sempre true!

L'asimmetria di some e every su array vuoto è intenzionale e logicamente coerente con gli operatori logici "esiste" (∃) e "per ogni" (∀).

Prova tu

Ejercicio#js.m6.l3.e1
Intentos: 0Cargando...

Definisci `firstAdult(users)`: dato un array di { name, age }, ritorna il name del primo con age >= 18, o null se nessuno. Usa find.

Cargando editor...
Mostrar pista

users.find(...); se trovato torna u.name, altrimenti null.

Solución disponible después de 3 intentos

Esercizio di ripasso

Ejercicio#js.m6.l3.e2
Intentos: 0Cargando...

Definisci `allPositive(nums)`: ritorna true se tutti gli elementi di nums sono > 0 (e l'array NON è vuoto), altrimenti false. Usa every + un controllo length.

Cargando editor...
Mostrar pista

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

Solución disponible después de 3 intentos