Skip to main content

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

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.