Книга: JavaScript. Подробное руководство, 6-е издание

7.9.4. Методы every() и some()

7.9.4. Методы every() и some()

Методы every() и some() являются предикатами массива: они применяют указанную функцию-предикат к элементам массива и возвращают true или false. Метод every() напоминает математический квантор всеобщности V: он возвращает true, только если переданная вами функция-предикат вернула true для всех элементов массива:

а = [1,2,3,4,5];
a.every(function(x) { return х < 10; }) // => true: все значения < 10.
a.every(function(x) { return х % 2 === 0; }) // => false: не все четные.

Метод some() напоминает математический квантор существования 3: он возвращает true, если в массиве имеется хотя бы один элемент, для которого функция-предикат вернет true, а значение false возвращается методом, только если функция-предикат вернет false для всех элементов массива:

а = [1,2,3,4, 5];
a.some(function(x) { return х%2===0; }) // => true: имеются четные числа,
a.some(isNaN) // => false: нет нечисловых элементов.

Обратите внимание, что оба метода, every() и some(), прекращают обход элементов массива, как только результат становится известен. Метод some() возвращает true, как только функция-предикат вернет true, и выполняет обход всех элементов массива, только если функция-предикат всегда возвращает false. Метод every() является полной противоположностью: он возвращает false, как только функция-предикат вернет false, и выполняет обход всех элементов массива, только если функция-предикат всегда возвращает true. Кроме того, отметьте, что в соответствии с правилами математики для пустого массива метод everу() возвращает true, а метод some() возвращает false.

Оглавление книги


Генерация: 0.828. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз