Ответ 1
Документация по Python дает вам эквиваленты в чистом python для обеих функций; их тривиально перевести на JavaScript:
function any(iterable) {
for (var index = 0; index < iterable.length; index++) {
if (iterable[index]) return true;
}
return false;
}
а также
function all(iterable) {
for (var index = 0; index < iterable.length; index++) {
if (!iterable[index]) return false;
}
return true;
}
Последние версии браузеров (реализующие ECMAScript 5.1, Firefox 1. 5+, Chrome, Edge 12+ и IE 9) имеют встроенную поддержку в виде Array.some
и Array.every
; они принимают обратный вызов, который определяет, является ли что-то "истинным" или нет:
some_array.some(function(elem) { return !!elem; });
some_array.every(function(elem) { return !!elem; });
Документация Mozilla, на которую я ссылался, содержит полифилы, чтобы воссоздать эти два метода в других реализациях JS.