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

Tres métodos compactos para buscar en un array sin escribir el bucle a mano.

find: el primero que cumple una condición

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: devuelve el índice (o -1).

some: al menos 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: todos

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!

La asimetría de some y every en arrays vacíos es intencionada y lógicamente coherente con los operadores lógicos "existe" (∃) y "para todo" (∀).

Pruébalo tú mismo

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

Define `firstAdult(users)`: dado un array de { name, age }, devuelve el name del primero con age >= 18, o null si ninguno lo es. Usa find.

Cargando editor...
Mostrar pista

users.find(...); si lo encuentra devuelve u.name, de lo contrario null.

Solución disponible después de 3 intentos

Ejercicio de repaso

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

Define `allPositive(nums)`: devuelve true si todos los elementos de nums son > 0 (y el array NO está vacío), de lo contrario false. Usa every + una comprobación de length.

Cargando editor...
Mostrar pista

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

Solución disponible después de 3 intentos