Виталий Котов
Как работает метод some() - JavaScript
Метод some() проверяет, проходит ли хоть один элемент массива заданную функцией проверку.
// функция с проверкой: возвращает чётное число
function isEven(element) {
return element % 2 === 0;
}
// объявляем массив
let numbers = [1, 3, 2, 5, 4];
// проверяем, содержит ли массив чисел хотя бы одно чётное число
console.log(numbers.some(isEven));
// Вывод в консоль: trueСинтаксис some()
Синтаксис метода some() следующий:
arr.some(callback(currentValue), thisArg);Где arr - это массив.
Метод some() позволяет проверить, удовлетворяет ли хотя бы один элемент массива заданному условию. Понимание принципов работы с массивами и подобных методов существенно упрощает разработку. Если вы хотите детальнее погрузиться в JavaScript и освоить все необходимые основы, — приходите на наш большой курс JavaScript с нуля. На курсе 198 уроков и 30 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.
Параметры some()
Метод some() принимает:
callback- функцию с проверкой, для вызова на каждом элементе массива. Принимает:
currentValue- текущий обрабатываемый элемент в массиве.
- функцию с проверкой, для вызова на каждом элементе массива. Принимает:
thisArg(необязательно) - значение, используемое в качествеthis, при вызове функцииcallback. По умолчанию определен какundefined.
Возвращаемое значение some()
Возвращает true, если элемент массива проходит проверку заданной функции (callback возвращает истинное значение).
Примечания:
some()не изменяет исходный массив.some()не вызывает функциюcallbackдля элементов массива без значений.
Примеры
Пример 1: Использование метода some()
// функция с проверкой: является ли возраст меньше 18 лет
function checkMinor(age) {
return age < 18;
}
const ageArray = [34, 23, 20, 26, 12];
// проверяем, содержит ли массив ageArray какой-либо элемент, возраст которого меньше 18 лет
let check = ageArray.some(checkMinor);
console.log(check);Вывод в консоль:
trueВ приведенном выше примере мы использовали метод some(), чтобы выяснить, содержит ли какой-либо элемент массива ageArray значение меньшее 18.
Сначала мы создали callback функцию checkMinor(), которая возвращает результат условия является ли возраст меньше 18.
Затем мы передали callback в метод some() как ageArray.some(checkMinor), который проверяет наличие элементов меньших 18 и возвращает true.
Пример 2: Метод some() для проверки результатов студентов
// массив баллов, полученных студентом
let scoreObtained = [45, 50, 39, 78, 65, 20];
// функция с проверкой: возвращает результат условия являются ли баллы меньше 40
function studentIsPassed(score) {
return score < 40;
}
// проверяем, есть ли хоть один студент с баллами меньше 40
if (scoreObtained.some(studentIsPassed) == true) {
console.log("At least one of the students failed.");
} else console.log("All students are passed.");Вывод в консоль:
At least one of the students failed.В приведенном выше примере мы использовали метод some(), чтобы узнать, набрал ли кто-нибудь из студентов оценку менее 40.
Мы передали callback в метод как scoreObtained.some(studentIsPassed), который возвращает true. Потому что scoreObtained содержит по крайней мере один элемент, т.е. 20, что меньше 40.
Поскольку тестовое выражение в операторе if истинно, программа выводит - At least one of the students failed.
some() - это лишь один из множества полезных методов для работы с массивами. Чтобы эффективно применять их на практике, необходимо понимать, как работают массивы, как итерировать по ним и как использовать другие методы, такие как map(), filter() и reduce(). Курс JavaScript с нуля поможет вам освоить эти навыки. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в мир JavaScript прямо сегодня.
Постройте личный план изучения Javascript до уровня Middle — бесплатно!
Javascript — часть карты развития Frontend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Бесплатные лекции
Все гайды по Javascript
Лучшие курсы по теме

Основы JavaScript
Антон Ларичев
TypeScript с нуля
Антон Ларичев