Workonphp
Workonphp

Reputation: 1675

What is the equivalent of Python any() and all() functions in JavaScript?

Python has built in functions any() and all(), which are applied on a list (array in JavaScript) as following-

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

Answers (3)

Martijn Pieters
Martijn Pieters

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

the9ull
the9ull

Reputation: 115

You can use lodash.

lodash.every is equivalent to all

lodash.some is equivalent to any

Upvotes: 6

Developerium
Developerium

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

Related Questions