Skip to main content

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, оскільки елементів немає.

Часті помилки

  1. Очікування масиву, а не булевого значення
javascript
const result = arr.some(x => x > 10); console.log(result.length); // TypeError - some() повертає true/false
  1. Забутий return
javascript
arr.some(num => { num > 5 }); // завжди false

Правильно:

javascript
arr.some(num => num > 5); // або arr.some(num => { return num > 5 });
  1. Плутають з 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

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