Перейти до основного вмісту

Методи every() і some()

Метод every()

Перевіряє, чи проходять всі елементи масиву тест колбек-функції. Повертає true або false.

масив.every((element, index, array) => {
// Тіло колбек-функції
});
  • Не змінює оригінальний масив.
  • Поелементо перебирає оригінальний масив.
  • Повертає true, якщо всі елементи масиву задовольняють умову.
  • Повертає false, якщо хоча б один елемент масиву не задовольняє умову.
  • Перебирання масиву припиняється, якщо колбек повертає false.
// Усі елементи більші або дорівнюють нулю? - так
[1, 2, 3, 4, 5].every(value => value >= 0); // true

// Усі елементи більші або дорівнюють нулю? - ні
[1, 2, 3, -10, 4, 5].every(value => value >= 0); // false

Метод some()

Перевіряє, чи проходить хоча б один елемент масиву тест колбек-функції. Повертає true або false.

масив.some((element, index, array) => {
// Тіло колбек-функції
});
  • Не змінює оригінальний масив.
  • Поелементо перебирає оригінальний масив.
  • Повертає true, якщо хоча б один елемент масиву задовольняє умову.
  • Повертає false, якщо жоден елемент масиву не задовольняє умову.
  • Перебирання масиву припиняється, якщо колбек повертає true.
// Чи є хоча б один елемент, що більший або дорівнює нулю? - так
[1, 2, 3, 4, 5].some(value => value >= 0); // true

// Чи є хоча б один елемент, що більший або дорівнює нулю? - так
[-7, -20, 3, -10, -14].some(value => value >= 0); // true

// Чи є хоча б один елемент, що менший нуля? - ні
[1, 2, 3, 4, 5].some(value => value < 0); // false

// Чи є хоча б один елемент, що менший нуля? - так
[1, 2, 3, -10, 4, 5].some(value => value < 0); // true

Масив об'єктів

Під час роботи з масивом об'єктів перевіряється значення певної їх властивості. Наприклад, у нас є масив об'єктів фруктів, необхідно дізнатися, чи є фрукти в наявності та чи є в наявності хоча б якісь фрукти, тобто більше 0 штук.

const fruits = [
{ name: "apples", amount: 100 },
{ name: "bananas", amount: 0 },
{ name: "grapes", amount: 50 },
];

// every поверне true тільки, якщо усіх фруктів буде більше 0 штук
const allAvailable = fruits.every(fruit => fruit.amount > 0); // false

// some поверне true, якщо хоча б одного фрукту буде більше 0 штук
const anyAvailable = fruits.some(fruits => fruits.amount > 0); // true