isBetween
Test if a value is between two values.
Usage
var isBetween = require( '@stdlib/assert/is-between' );
isBetween( value, a, b[, left, right] )
Tests if a value is between two values a (left comparison value) and b (right comparison value).
var bool = isBetween( 4, 3, 5 ); // returns true bool = isBetween( 2, 3, 5 ); // returns false bool = isBetween( 6, 3, 5 ); // returns false
By default, the function assumes that a and b are inclusive.
var bool = isBetween( 3, 3, 5 ); // returns true bool = isBetween( 3, 3, 5, 'closed', 'closed' ); // returns true bool = isBetween( 5, 3, 5 ); // returns true bool = isBetween( 5, 3, 5, 'closed', 'closed' ); // returns true
To make a and/or b exclusive, set the respective arguments to 'open'.
var bool = isBetween( 3, 3, 5, 'open', 'closed' ); // returns false bool = isBetween( 5, 3, 5, 'closed', 'open' ); // returns false
Notes
-
If
aandbare inclusive, the comparison is equivalent to -
If
ais exclusive andbis inclusive, the comparison is equivalent to -
If
ais inclusive andbis exclusive, the comparison is equivalent to -
If
aandbare exclusive, the comparison is equivalent to -
If provided non-numeric values, comparisons are performed according to lexicographic order.
Examples
var randu = require( '@stdlib/random/base/randu' ); var round = require( '@stdlib/math/base/special/round' ); var isBetween = require( '@stdlib/assert/is-between' ); var bool; var a; var b; var v; var i; for ( i = 0; i < 100; i++ ) { a = round( (randu()*10.0) + 5.0 ); b = round( (randu()*10.0) + 15.0 ); v = round( randu()*25.0 ); bool = isBetween( v, a, b, 'open', 'closed' ); console.log( '%d < %d <= %d: %s', a, v, b, bool.toString() ); }
See Also
@stdlib/assert/is-between-array: test if a value is an array-like object where every element is between two values.