Reputation: 1675
Python has built in functions any()
and all()
, which are applied on a list (array in JavaScript) as following-
any()
: Return True
if any element of the iterable is true. If the iterable is empty, return False
.all()
: Return True
if all elements of the iterable are true (or if the iterable is empty).We can create our customized functions for above, but please let me know if there any equivalent built-in functions available in JavaScript.
Upvotes: 43
Views: 17587
Reputation: 1124238
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.
Upvotes: 43
Reputation: 115
You can use lodash.
lodash.every
is equivalent to all
lodash.some
is equivalent to any
Upvotes: 6
Reputation: 7265
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
Upvotes: 5