Skip to content

Latest commit

 

History

History

array-function

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Array Function

Test if every element of an array passes a test condition.

Usage

var validate = require( '@stdlib/tools/array-function' );

validate( fcn, value )

Validates if every element of an array passes a test condition. Given an input array, 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

===

Create

To facilitate using array validation functions within an application, a method to create minimal array validation functions is provided.

validate.create( fcn )

Creates a validation function which validates whether every element of an array 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

===

Raw

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.

validate.raw( fcn, value )

Validates if every element of an array passes a test condition. Given an input array, 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 );
}

Notes

  • A provided test function should accept a single argument: an array element. If the array element satisfies a test condition, the function should return true; otherwise, the function should return false.
  • The validation functions will return false for an empty array.
  • The .create() method uses dynamic code evaluation. Beware when using it in the browser as it may violate your content security policy (CSP).

Examples

var validateArray = require( '@stdlib/tools/array-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 );