everyBy

Test whether all elements in an array pass a test implemented by a predicate function.

Usage

var everyBy = require( '@stdlib/array/base/every-by' );

everyBy( x, predicate[, thisArg] )

Tests whether all elements in an array pass a test implemented by a predicate function.

function isPositive( value ) {
    return ( value > 0 );
}

var x = [ 1, 2, 3, 4 ];

var bool = everyBy( x, isPositive );
// returns true

If a predicate function returns a non-truthy value, the function immediately returns false.

function isPositive( value ) {
    return ( value > 0 );
}

var x = [ 1, -2, 3, 4 ];

var bool = everyBy( x, isPositive );
// returns false

The predicate function is provided three arguments:

  • value: current array element.
  • index: current array element index.
  • arr: input array.

To set the predicate function execution context, provide a thisArg.

function predicate( value ) {
    this.count += 1;
    return ( value > 0 );
}

var x = [ 1, 2, -3, 4 ];

var context = {
    'count': 0
};

var bool = everyBy( x, predicate, context );
// returns false

var cnt = context.count;
// returns 3

Notes

  • If provided an array-like object having an every method, the function defers execution to that method and assumes that the method API has the following signature:

    x.every( predicate, thisArg )
    
  • If provided an array-like object without an every method, the function performs a linear scan and returns immediately upon encountering a non-truthy return value. Unlike Array.prototype.every, when performing a linear scan, the function does not skip undefined elements.

  • If provided an empty array, the function returns true.

Examples

var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive;
var naryFunction = require( '@stdlib/utils/nary-function' );
var everyBy = require( '@stdlib/array/base/every-by' );

var x = discreteUniform( 10, 0, 10, {
    'dtype': 'int32'
});
// returns <Int32Array>

var out = everyBy( x, naryFunction( isPositiveInteger, 1 ) );
// returns <boolean>
Did you find this page helpful?