логотип PurpleSchool

Как работает метод 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.

изображение курса

Основы JavaScript

Антон Ларичев
иконка часов18 часов лекций
иконка зведочки рейтинга4.8
Frontend
Backend
Mobile
Основы JavaScript