Модуль 6 · Урок 3 из 423/32 в курсе~10 min
Уроки модуля (3/4)
найти, некоторые, каждый
Три компактных метода для поиска в массиве без написания цикла вручную.
find: первый соответствующий
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: возвращает индекс (или -1).
some: хотя бы один
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 falseevery: все
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!Асимметрия some и every в пустых массивах является преднамеренной и логически согласуется с
логические операторы «существует» (∃) и «для всех» (∀).
Попробуйте это
Упражнение#js.m6.l3.e1
Попыток: 0Загрузка…
Определите `firstAdult(users)`: учитывая массив { name, age }, верните имя первого с возрастом >= 18 или ноль, если его нет. Используйте поиск.
Загрузка редактора…
Показать подсказку
пользователи.найти(...); если найдено, верните u.name, в противном случае — ноль.
Решение доступно после 3 попыток
Обзор упражнения
Упражнение#js.m6.l3.e2
Попыток: 0Загрузка…
Определите `allPositive(nums)`: верните true, если все элементы nums > 0 (и массив НЕ пуст), в противном случае — false. Используйте каждые + проверку длины.
Загрузка редактора…
Показать подсказку
длина > 0 && nums.every(n => n > 0)
Решение доступно после 3 попыток