What is the equivalent of python any() and all() functions in JavaScript?
The Python documentation gives you pure-python equivalents for both functions; they are trivial to translate to JavaScript:
function any(iterable) { for (var index = 0; index < iterable.length; index++) { if (iterable[index]) return true; } return false;}
and
function all(iterable) { for (var index = 0; index < iterable.length; index++) { if (!iterable[index]) return false; } return true;}
Recent browser versions (implementing ECMAScript 5.1, Firefox 1.5+, Chrome, Edge 12+ and IE 9) have native support in the form of Array.some
and Array.every
; these take a callback that determines if something is 'true' or not:
some_array.some((elem) => !!elem );some_array.every((elem) => !!elem );
The Mozilla documentation I linked to has polyfills included to recreate these two methods in other JS implementations.
You can use lodash.
lodash.every
is equivalent to all
lodash.some
is equivalent to any
Build-in function some
is equivalent to any I suppose.
const array = [1, 2, 3, 4, 5];const even = function(element) { // checks whether an element is even return element % 2 === 0;};console.log(array.some(even));// expected output: true
You can read more in the docs