Direct naar de hoofdinhoud
Module 6 · Les 3 van 423/32 in de cursus~10 min
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

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

findIndex variant: retourneert de index (of -1).

some: minstens één

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: allemaal

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!

De asymmetrie van some en every op lege arrays is opzettelijk en logisch consistent met de logische operatoren "bestaat" (∃) en "voor alle" (∀).

Probeer het

Oefening#js.m6.l3.e1
Pogingen: 0Laden…

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.

Editor laden…
Toon hint

gebruikers.vind(...); indien gevonden retourneert u.name, anders nul.

Oplossing beschikbaar na 3 pogingen

Oefening beoordelen

Oefening#js.m6.l3.e2
Pogingen: 0Laden…

Definieer `allPositive(nums)`: retourneert true als alle elementen van nums > 0 zijn (en de array NIET leeg is), anders false. Gebruik elke + een lengtecontrole.

Editor laden…
Toon hint

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

Oplossing beschikbaar na 3 pogingen