iterNoneBy

Test whether every iterated value fails a test implemented by a predicate function.

Usage

var iterNoneBy = require( '@stdlib/iter/none-by' );

iterNoneBy( iterator, predicate[, thisArg] )

Tests whether every iterated value fails a test implemented by a predicate function.

var array2iterator = require( '@stdlib/array/to-iterator' );

function predicate( v ) {
    return ( v <= 0 );
}

var arr = array2iterator( [ 1, 1, 1, 1, 1 ] );

var bool = iterNoneBy( arr, predicate );
// returns true

If a provided iterator does not return any iterated values, the function returns true.

var array2iterator = require( '@stdlib/array/to-iterator' );

function predicate() {
    return true;
}

var bool = iterNoneBy( array2iterator( [] ), predicate );
// returns true

A predicate function is provided two arguments:

  • value: iterated value
  • index: iteration index (zero-based)

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

var array2iterator = require( '@stdlib/array/to-iterator' );

function predicate( v ) {
    this.count += 1;
    return ( v <= 0 );
}

var arr = array2iterator( [ 1, 1, 0, 1, 1 ] );

var ctx = {
    'count': 0
};

var bool = iterNoneBy( arr, predicate, ctx );
// returns false

var n = ctx.count;
// returns 3

Notes

  • The function immediately returns upon encountering a truthy return value.

Examples

var randu = require( '@stdlib/random/iter/randu' );
var iterNoneBy = require( '@stdlib/iter/none-by' );

function threshold( r ) {
    return ( r >= 0.99 );
}

// Create an iterator which generates uniformly distributed pseudorandom numbers:
var opts = {
    'iter': 100
};
var riter = randu( opts );

// Determine if all values are below a threshold:
var bool = iterNoneBy( riter, threshold );
// returns <boolean>

console.log( bool );
Did you find this page helpful?