Перейти к основному содержимому
Модуль 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 false

every: все

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 попыток