Test if every element of an array-like object passes a test condition.
var validate = require( '@stdlib/tools/array-like-function' );
Tests if every element of an array
-like object passes a test condition. Given an input array
-like object, the function returns true
if all elements pass the test and false
otherwise.
var arr1 = [ 1, 3, 5, 7 ],
arr2 = [ 3, 5, 'c' ];
function isOdd( x ) {
return ( typeof x === 'number' && x % 2 === 1 );
}
var out = validate( isOdd, arr1 );
// returns true
var out = validate( isOdd, arr2 );
// returns false
===
To facilitate using array
-like object validation functions within an application, a method to create minimal array
-like object validation functions is provided.
Creates a validation function
which validates whether every element of an array
-like object passes a test condition.
function isOdd( x ) {
return ( typeof x === 'number' && x % 2 === 1 );
}
var isOddArray = validate.create( isOdd ),
out;
out = isOddArray( [1,3,5] );
// returns true
out = isOddArray( [2,3,4] );
// returns false
===
A lower-level API is provided which forgoes some of the guarantees of the above APIs, such as input argument validation. While use of the above APIs is encouraged in REPL environments, use of the lower-level interface may be warranted when arguments are of a known type or when performance is paramount.
Validates if every element of an array
-like object passes a test condition. Given an input array
-like object, the function returns true
if all elements pass the test and false
otherwise.
var arr = [ 1, 1, 1, 1, 1 ]
var out = validate.raw( isOdd, arr );
// returns true
function isOdd( val ) {
return ( typeof x === 'number' && val % 2 === 1 );
}
- A provided test function should accept a single argument: an
array
-like object element. If thearray
-like object element satisfies a test condition, the function should returntrue
; otherwise, the function should returnfalse
. - The validation functions will return
false
for an emptyarray
-like object. - The
.create()
method uses dynamic code evaluation. Beware when using it in the browser as it may violate your content security policy (CSP).
var validateArray = require( '@stdlib/tools/array-like-function' );
var arr1, arr2;
var out;
var i;
arr1 = new Array( 25 );
for ( i = 0; i < arr1.length; i++ ) {
arr1[ i ] = i;
}
arr2 = new Array( 25 );
for ( i = 0; i < arr2.length; i++ ) {
arr2[ i ] = 2 * i;
}
function isEven( x ) {
return ( typeof x === 'number' && val % 2 === 0 );
}
out = validateArray( isEven, arr1 );
console.log( out );
out = validateArray( isEven, arr2 );
console.log( out );