isBetweenArray

Test if a value is an array-like object where every element is between two values.

Usage

var isBetweenArray = require( '@stdlib/assert/is-between-array' );

isBetweenArray( value, a, b[, left, right] )

Tests if a value is an array-like object where every element is between two values a (left comparison value) and b (right comparison value).

var arr = [ 3, 4, 5 ];

var bool = isBetweenArray( arr, 3, 5 );
// returns true

bool = isBetweenArray( arr, 4, 5 );
// returns false

bool = isBetweenArray( arr, 3, 4 );
// returns false

By default, the function assumes that a and b are inclusive.

var arr = [ 3, 4, 5 ];

var bool = isBetweenArray( arr, 3, 5 );
// returns true

bool = isBetweenArray( arr, 3, 5, 'closed', 'closed' );
// returns true

To make a and/or b exclusive, set the respective arguments to 'open'.

var arr = [ 3, 4, 5 ];

var bool = isBetweenArray( arr, 3, 5, 'open', 'closed' );
// returns false

bool = isBetweenArray( arr, 3, 5, 'closed', 'open' );
// returns false

Notes

  • If a and b are inclusive, the element-wise comparison is equivalent to

    a <= v_i <= b
    
  • If a is exclusive and b is inclusive, the element-wise comparison is equivalent to

    a < v_i <= b
    
  • If a is inclusive and b is exclusive, the element-wise comparison is equivalent to

    a <= v_i < b
    
  • If a and b are exclusive, the element-wise comparison is equivalent to

    a < v_i < b
    
  • If provided an empty array-like object, the function returns false.

    var bool = isBetweenArray( [], 0.0, 1.0 );
    // returns false
    
  • If provided non-numeric values, element-wise comparisons are performed according to lexicographic order.

Examples

var randu = require( '@stdlib/random/base/randu' );
var Float64Array = require( '@stdlib/array/float64' );
var isBetweenArray = require( '@stdlib/assert/is-between-array' );

var x;
var i;

x = new Float64Array( 100 );
for ( i = 0; i < x.length; i++ ) {
    x[ i ] = randu();
}
console.log( isBetweenArray( x, 0.01, 0.99 ) );