Метод some проверяет элементы массива в соответствии с переданной функцией. Эта функция передается параметром метода и выполняется для каждого элемента массива.

В эту функцию можно передавать 3 параметра. Если эти параметры есть (они не обязательны), то в первый положится элемент массива, во второй - его номер в массиве (индекс), а в третий - сам массив.

Метод возвращает true, если хотя бы для одного элемента массива переданная функция вернула true, в противном случае метод возвращает false.

См. также every, forEach, filter, map, reduce, reduceRight.

Синтаксис

массив.some(function(элемент, индекс, массив) {
	return true или false
})

Примеры

Пример

Проверим, есть ли в массиве чисел хотя бы одно положительное число:

var numbers = [-1, -2, -3, 5];

var check = numbers.some(function(elem) {
	if (elem >= 0) {
		return true;
	} else {
		return false;
	}
});

alert(check);

Результат выполнения кода:

true

Пример

Проверим, что хоты бы одно произведение элемента на его порядковый номер больше или равно 20:

var numbers = [1, 2, 3, 4, 5];

var check = numbers.some(function(elem, index) {
	if (elem*index >= 20) {
		return true;
	} else {
		return false;
	}
});

alert(check);

Результат выполнения кода:

true

Пример

При необходимости в третий параметр можно передать сам массив:

var check = arr.some(function(elem, index, arr) {
	тут будет доступен массив arr
});