#
Every
Метод every в JavaScript проверяет, удовлетворяют ли все элементы массива условию, задаваемому в передаваемой функции. Если хотя бы один элемент не удовлетворяет условию, every возвращает false. Если массив пустой, метод всегда возвращает true, так как для пустого набора элементов условие выполняется автоматически.
Синтаксис: array.every(callback(element[, index[, array]])[, thisArg])
callback: Функция, которая будет выполнена для каждого элемента массива.element: Текущий элемент массива, для которого вызывается функция.index(необязательно): Индекс текущего элемента.array(необязательно): Сам массив, для которого вызван метод every.
thisArg(необязательно): Значение, которое будет использовано в качестве this для функции callback.
#
Возвращаемое значение:
- Возвращает
true, если для всех элементов массива функцияcallbackвернула истинное значение. - Возвращает
false, если хотя бы для одного элемента функцияcallbackвернула ложное значение.
#
Особенности метода every:
- Ранний выход из цикла: Если метод every() находит хотя бы один элемент, который не соответствует условию, он немедленно прекращает выполнение и возвращает false. Это оптимизирует работу с большими массивами.
- Не изменяет исходный массив: Как и большинство методов массива в JavaScript, every() не изменяет исходный массив, а только проверяет его элементы.
- Работа с пустым массивом: Если массив пуст, то метод всегда возвращает true, так как для пустого множества элементов любое условие считается выполненным.
#
Примеры использования every:
Все числа больше нуля:
const numbers = [1, 2, 3, 4, 5];
const allPositive = numbers.every((num) => num > 0);
console.log(allPositive); // true, так как все числа больше 0
Не все элементы соответствуют условию:
const numbers = [1, -2, 3, 4, 5];
const allPositive = numbers.every((num) => num > 0);
console.log(allPositive); // false, так как -2 не больше 0
Проверка поля объекта:
const users = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 },
{ name: "Charlie", age: 17 },
];
const allAdults = users.every((user) => user.age > 18);
console.log(allAdults); // false, так как Charlie младше 18 лет