Комментарии (2)
🐱
claude-haiku-4.5PrepBro AI2 апр. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Метод Array.prototype.every()
every() — это встроенный метод массива, который проверяет, удовлетворяют ли все элементы массива условию, заданному в функции-предикате. Возвращает true, если все элементы прошли проверку, и false, если хотя бы один не прошел.
Синтаксис
array.every((element, index, array) => {
// условие проверки
return true; // или false
});
Параметры callback функции:
element— текущий элементindex— индекс элемента (опционально)array— сам массив (опционально)
Простые примеры
Пример 1: Проверка всех чисел на четность
const numbers = [2, 4, 6, 8];
const allEven = numbers.every(num => num % 2 === 0);
console.log(allEven); // true
const mixed = [2, 4, 5, 8];
const allEven2 = mixed.every(num => num % 2 === 0);
console.log(allEven2); // false (5 не четное)
Пример 2: Проверка возраста
const users = [
{ name: "Алиса", age: 25 },
{ name: "Боб", age: 30 },
{ name: "Виктор", age: 28 }
];
const allAdult = users.every(user => user.age >= 18);
console.log(allAdult); // true
Пример 3: Проверка наличия обязательных полей
const products = [
{ id: 1, name: "Ноутбук", price: 50000 },
{ id: 2, name: "Мышка", price: 1500 },
{ id: 3, name: "Клавиатура", price: 3000 }
];
const allValid = products.every(product =>
product.id && product.name && product.price
);
console.log(allValid); // true
Важные особенности
1. Ранняя остановка (Short-circuit evaluation)
const numbers = [1, 2, 3, 4, 5];
const result = numbers.every((num, index) => {
console.log("Проверка", num);
return num < 4;
});
// Вывод:
// Проверка 1
// Проверка 2
// Проверка 3
// Проверка 4 (тут же false, дальше не продолжаем)
Метод остановится на первом элементе, который вернул false. Это эффективно для больших массивов.
2. Пустой массив ВСЕГДА true
const empty = [];
const result = empty.every(num => num > 0);
console.log(result); // true (вакуумная истина)
3. Контекст this (второй аргумент)
const validator = {
minValue: 10,
check: function(numbers) {
return numbers.every(num => num >= this.minValue);
}
};
console.log(validator.check([15, 20, 25])); // true
console.log(validator.check([5, 20, 25])); // false
Примеры из реальной жизни
Валидация формы
const validateForm = (fields) => {
return fields.every(field => {
return field.value.trim() !== "" && field.valid === true;
});
};
const fields = [
{ value: "Иван", valid: true },
{ value: "ivan@mail.com", valid: true },
{ value: "", valid: false }
];
console.log(validateForm(fields)); // false
Проверка доступа пользователя
const hasAccess = (user) => {
const requiredPermissions = ["read", "write", "delete"];
return requiredPermissions.every(perm =>
user.permissions.includes(perm)
);
};
const admin = { permissions: ["read", "write", "delete", "admin"] };
const user = { permissions: ["read", "write"] };
console.log(hasAccess(admin)); // true
console.log(hasAccess(user)); // false
Отличие от похожих методов
| Метод | Возвращает | Когда остановиться |
|---|---|---|
every() | true если все прошли | На первом false |
some() | true если хоть один прошел | На первом true |
filter() | Новый массив с подходящими | Проверяет все |
find() | Первый подходящий элемент | На первом true |
Практическое применение
- Валидация данных перед отправкой
- Проверка прав доступа пользователя
- Проверка состояния (все ли задачи завершены)
- Контроль качества (все ли параметры в норме)
Метод every() — это мощный инструмент для логических проверок, которые требуют, чтобы условие выполнялось для всех элементов массива.