Метод some

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

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

Синтаксис

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

Пример

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

javascriptlet arr = [-1, -2, -3, 4];

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

console.log(check);

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

javascripttrue

Пример

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

javascriptlet 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);

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

javascripttrue

Пример

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

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

Смотрите также

  • метод every,
    который также позволяет выполнить проверку массива
  • методы map и forEach,
    которые позволяют применить функцию к каждому элементу массива
  • методы reduce и reduceRight,
    сворачивающие массив к одному значению