every() у масиві
Метод every() перевіряє, що всі елементи масиву задовольняють умову, яку задає передана функція-колбек.
Якщо кожен елемент повертає true, метод повертає true.
Якщо хоча б один елемент не підходить, повертає false і зупиняє подальшу перевірку.
Важливі моменти, які варто сказати на співбесіді
every()не змінює вихідний масив.- Щойно трапляється елемент, для якого callback повернув
false, виконання припиняється. - Повертає boolean.
- Працює тільки з логічним результатом callback.
- Для порожнього масиву
every()повертає true (це важлива, часто запитувана особливість).
Сигнатура
js
array.every((element, index, array) => {
// return true/false
});Приклад
Перевіримо, чи складається масив тільки з парних чисел:
js
const numbers = [2, 4, 6, 8];
const allEven = numbers.every(num => num % 2 === 0);
console.log(allEven); // trueЯкщо додати непарне число:
js
[2, 4, 5, 8].every(n => n % 2 === 0); // falseПриклад із реальної розробки
Перевірка, чи всі користувачі пройшли верифікацію:
js
const users = [
{ name: 'Alex', verified: true },
{ name: 'John', verified: true },
{ name: 'Kate', verified: false },
];
const allVerified = users.every(u => u.verified);
console.log(allVerified); // falseЧасті пастки та питання на співбесіді
1) Чому порожній масив -> true?
Тому що every() перевіряє умову "всі елементи задовольняють".
Якщо елементів немає, умови порушення немає -> результат вважається істинним типово.
Цю властивість часто називають "vacuous truth" - "порожня істина".
2) Відмінність від some():
some()-> хоча б один елемент має відповідатиevery()-> усі елементи мають відповідати- Підсумок:
- якщо
every()повернувtrue->some()може бути іtrue, іfalse - але якщо
some()повернувfalse, це ще не означає, щоevery()буде true
- якщо
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.