JavaScript · массивы
Метод Array.some()
some() возвращает true, если хотя бы один элемент проходит проверку. Метод останавливается сразу после первого успешного результата.
Простая проверка
Callback должен вернуть логическое значение. Исходный массив не меняется.
const numbers = [3, 7, 12];
const hasEven = numbers.some(number => number % 2 === 0); // true
Проверка объектов
Метод удобно использовать для прав доступа, наличия ошибки или выбранного пункта.
const tasks = [{ done: true }, { done: false }];
const hasOpenTask = tasks.some(task => !task.done);
Some, find или includes
some отвечает только да или нет. find возвращает сам подходящий элемент, а includes проверяет точное наличие простого значения.
const hasAdmin = users.some(user => user.role === 'admin');
Частые ошибки
- Ожидать найденный элемент вместо boolean.
- Забывать return в callback с фигурными скобками.
- Использовать some для точного простого значения вместо includes.
- Изменять элементы внутри проверки.
Практика
Создай массив полей формы и проверь, есть ли хотя бы одно пустое обязательное поле. Выведи понятное сообщение пользователю.