Книга: 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
.
- Every и some
- Adding Some Error Checking
- When Something Goes Wrong
- 2.2.6. Some Implications of ATM for Distributed Systems
- Exploring Some of the Other IPX Tools
- Some Useful Macro Definitions
- Some Useful sendmail Configurations
- Some INN Internals
- 14.3.3 Some Guidelines
- Questions. Sometimes with Answers.
- Your Application Does Something, Right?
- Grid Your Lions (or Something Like That…)