Modulelessen (3/4)
vind, sommige, elke
Drie compacte methoden om in een array te zoeken zonder de lus met de hand te schrijven.
find: de eerste die overeenkomt
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: retourneert de index (of -1).
some: minstens één
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: allemaal
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!De asymmetrie van some en every op lege arrays is opzettelijk en logisch consistent met
de logische operatoren "bestaat" (∃) en "voor alle" (∀).
Probeer het
Definieer `firstAdult(users)`: gegeven een array van { name, age }, retourneert u de naam van de eerste met leeftijd >= 18, of null als er geen is. Gebruik zoeken.
Toon hint
gebruikers.vind(...); indien gevonden retourneert u.name, anders nul.
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Definieer `allPositive(nums)`: retourneert true als alle elementen van nums > 0 zijn (en de array NIET leeg is), anders false. Gebruik elke + een lengtecontrole.
Toon hint
lengte > 0 && nums.every(n => n > 0)
Oplossing beschikbaar na 3 pogingen