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
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 corrispondeWariant findIndex: zwraca indeks (lub -1).
some: co najmniej jeden element
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 falseevery: wszystkie elementy
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
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.
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
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.
Pokaż wskazówkę
length > 0 && nums.every(n => n > 0)
Rozwiązanie dostępne po 3 próbach