Методи 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