Przejdź do głównej treści
eLearner.app
Moduł 6 · Lekcja 3 z 423/32 w kursie~10 min
Lekcje modułu (3/4)

find, some, every

Trzy zwięzłe metody do wyszukiwania w tablicy bez konieczności ręcznego pisania pętli.

find: pierwszy element spełniający warunek

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

Wariant findIndex: zwraca indeks (lub -1).

some: co najmniej jeden element

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: wszystkie elementy

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!

Asymetria metod some i every na pustej tablicy jest zamierzona i logicznie spójna z operatorami logicznymi „istnieje” (∃) oraz „dla każdego” (∀).

Spróbuj sam

Ćwiczenie#js.m6.l3.e1
Próby: 0Ładowanie...

Zdefiniuj `firstAdult(users)`: dla podanej tablicy obiektów { name, age }, zwraca name pierwszej osoby, która ma age >= 18, lub null, jeśli nie ma takiej osoby. Użyj find.

Ładowanie edytora...
Pokaż wskazówkę

users.find(...); jeśli znajdzie, zwraca u.name, w przeciwnym razie null.

Rozwiązanie dostępne po 3 próbach

Ćwiczenie powtórzeniowe

Ćwiczenie#js.m6.l3.e2
Próby: 0Ładowanie...

Zdefiniuj `allPositive(nums)`: zwraca true, jeśli wszystkie elementy tablicy nums są > 0 (oraz tablica NIE jest pusta), w przeciwnym razie false. Użyj every + sprawdzenia length.

Ładowanie edytora...
Pokaż wskazówkę

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

Rozwiązanie dostępne po 3 próbach