some() у масиві
Метод some() - один з логічних методів масиву в JavaScript.
Він перевіряє, чи є хоча б один елемент, що задовольняє умову, і повертає true або false.
Щойно знайдено перший відповідний елемент, перебір припиняється.
Синтаксис
javascript
const result = array.some((element, index, array) => {
return умова;
});Параметри колбеку:
| Аргумент | Опис |
|---|---|
element | Поточний елемент масиву |
index | Індекс поточного елемента |
array | Сам вихідний масив |
Приклад 1. Перевірка, чи є парні числа
javascript
const numbers = [1, 3, 5, 6, 7];
const hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven); // true
some()повернувtrue, тому що в масиві є хоча б одне парне число (6).
Приклад 2. Перевірка, чи є повнолітні користувачі
javascript
const users = [
{ name: 'Tim', age: 17 },
{ name: 'Alex', age: 21 },
{ name: 'John', age: 16 }
];
const hasAdult = users.some(user => user.age >= 18);
console.log(hasAdult); // true
some()зупиняється, щойно знаходить першого дорослого користувача.
Приклад 3. Перевірка наявності значення
javascript
const fruits = ['apple', 'banana', 'cherry'];
const hasBanana = fruits.some(fruit => fruit === 'banana');
console.log(hasBanana); // true
const hasMango = fruits.some(fruit => fruit === 'mango');
console.log(hasMango); // falseПриклад 4. Робота з порожнім масивом
javascript
console.log([].some(x => x > 0)); // falseДля порожнього масиву
some()завжди повертаєfalse, оскільки елементів немає.
Часті помилки
- Очікування масиву, а не булевого значення
javascript
const result = arr.some(x => x > 10);
console.log(result.length); // TypeError - some() повертає true/false- Забутий
return
javascript
arr.some(num => { num > 5 }); // завжди falseПравильно:
javascript
arr.some(num => num > 5);
// або
arr.some(num => { return num > 5 });- Плутають з
every()
some()-> хоча б один елемент проходить умовуevery()-> всі елементи проходять умову
Коли використовувати some()
| Мета | Чи підходить some() |
|---|---|
| Перевірити, що є хоча б один елемент за умовою | Так |
| Перевірити, що всі елементи відповідають умові | Ні - використовуй every() |
| Знайти сам елемент | Ні - використовуй find() |
| Отримати список підходящих елементів | Ні - використовуй filter() |
Коротко:
some()- повертаєtrue, якщо хоча б один елемент масиву задовольняє умову.
Формула запам'ятовування:
arr.some(умова) -> true | false
Приклад для наочності
javascript
const arr = [1, 2, 3, 4, 5];
console.log(arr.some(x => x > 3)); // true
console.log(arr.some(x => x < 0)); // falseПорівняння зі схожими методами
| Метод | Повертає | Умова | Зупиняється після першого збігу |
|---|---|---|---|
| some() | true / false | Хоч один елемент відповідає | Так |
| every() | true / false | Всі елементи відповідають | Так (при першому false) |
| find() | Елемент або undefined | Хоч один елемент відповідає | Так |
| filter() | Новий масив | Всі підходящі елементи | Ні |
Приклад порівняння some() та every()
javascript
const ages = [18, 22, 30, 16];
console.log(ages.some(age => age < 18)); // true -> є хоча б один неповнолітній
console.log(ages.every(age => age >= 18)); // false -> не всі доросліКоротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.