Виталий Котов
Как работает метод 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()
Метод 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.
Карта развития разработчика
Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile