Метод some
проверяет элементы массива
в соответствии с переданной функцией. Эта
функция передается параметром метода и выполняется
для каждого элемента массива.
Метод возвращает true
, если хотя бы
для одного элемента массива переданная функция
вернет true
, в противном случае метод
возвращает false
.
В функцию можно передавать 3
параметра.
Если эти параметры есть (они не обязательны),
то в первый автоматически попадет элемент
массива, во второй попадет его номер в массиве
(индекс), а в третий - сам массив.
Синтаксис
массив.some(function(элемент, индекс, массив) {
return true или false;
})
Пример
Проверим, есть ли в массиве чисел хотя бы одно положительное число:
let arr = [-1, -2, -3, 4];
let check = arr.some(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(check);
Результат выполнения кода:
true
Пример
Проверим, что хоты бы одно произведение элемента
на его порядковый номер больше или равно
20
:
let arr = [1, 2, 3, 4, 5];
let check = arr.some(function(elem, index) {
if (elem * index >= 20) {
return true;
} else {
return false;
}
});
console.log(check);
Результат выполнения кода:
true
Пример
При необходимости в третий параметр можно передать сам массив:
let check = arr.some(function(elem, index, arr) {
тут будет доступен массив arr
});
Смотрите также
-
метод
every
,
который также позволяет выполнить проверку массива -
методы
map
иforEach
,
которые позволяют применить функцию к каждому элементу массива -
методы
reduce
иreduceRight
,
сворачивающие массив к одному значению