Module 6 · Les 3 van 423/32 in de cursus~10 min
Modulelessen (3/4)
vind, sommige, elke
Three compact methods to search in an array without writing the loop by hand.
find: the first one that matches
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 matchesfindIndex variant: returns the index (or -1).
some: at least one
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 falseevery: all of them
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!The asymmetry of some and every on empty arrays is intentional and logically consistent with
the "exists" (∃) and "for all" (∀) logical operators.
Try it
Oefening#js.m6.l3.e1
Pogingen: 0Laden…
Define `firstAdult(users)`: given an array of { name, age }, return the name of the first one with age >= 18, or null if none. Use find.
Editor laden…
Toon hint
users.find(...); if found return u.name, otherwise null.
Oplossing beschikbaar na 3 pogingen
Review exercise
Oefening#js.m6.l3.e2
Pogingen: 0Laden…
Define `allPositive(nums)`: return true if all elements of nums are > 0 (and the array is NOT empty), otherwise false. Use every + a length check.
Editor laden…
Toon hint
length > 0 && nums.every(n => n > 0)
Oplossing beschikbaar na 3 pogingen