Passer au contenu principal
eLearner.app
Module 6 · Leçon 3 sur 423/32 dans le cours~10 min
Leçons du module (3/4)

find, some, every

Trois méthodes compactes pour rechercher dans un tableau sans avoir à écrire de boucle manuelle.

find : le premier qui satisfait une condition

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 : renvoie l'index (ou -1).

some : au moins un

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

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'asymétrie de some et every sur un tableau vide est intentionnelle et logiquement cohérente avec les opérateurs logiques "il existe" (∃) et "pour tout" (∀).

À toi de jouer

Exercice#js.m6.l3.e1
Tentatives : 0Chargement…

Définis `firstAdult(users)` : étant donné un tableau d'objets { name, age }, renvoie le name du premier ayant age >= 18, ou null si aucun ne l'est. Utilise find.

Chargement de l'éditeur…
Afficher l'indice

users.find(...) ; s'il est trouvé, renvoie u.name, sinon null.

Solution disponible après 3 tentatives

Exercice de révision

Exercice#js.m6.l3.e2
Tentatives : 0Chargement…

Définis `allPositive(nums)` : renvoie true si tous les éléments de nums sont > 0 (et que le tableau n'est PAS vide), sinon false. Utilise every + une vérification de la longueur (length).

Chargement de l'éditeur…
Afficher l'indice

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

Solution disponible après 3 tentatives