# Array Function [![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] > Return a function which tests if every element in an array passes a test condition.
## Installation ```bash npm install @stdlib/assert-tools-array-function ```
## Usage ```javascript var arrayfcn = require( '@stdlib/assert-tools-array-function' ); ``` #### arrayfcn( predicate ) Returns a function which tests if every element in an [`array`][mdn-array] passes a test condition. Given an input [`array`][mdn-array], the function returns `true` if all elements pass the test and `false` otherwise. ```javascript var isOdd = require( '@stdlib/assert-is-odd' ); var arr1 = [ 1, 3, 5, 7 ]; var arr2 = [ 3, 5, 8 ]; var f = arrayfcn( isOdd ); var bool = f( arr1 ); // returns true bool = f( arr2 ); // returns false ```
## Notes - The returned function will return `false` if **not** provided an [`array`][mdn-array]. - The returned function will return `false` if provided an empty [`array`][mdn-array]. - A `predicate` function should accept a single argument: an [`array`][mdn-array] element. If the [`array`][mdn-array] element satisfies a test condition, the `predicate` function should return `true`; otherwise, the `predicate` function should return `false`.
## Examples ```javascript var isEven = require( '@stdlib/assert-is-even' ); var arrayfcn = require( '@stdlib/assert-tools-array-function' ); var arr1; var arr2; var bool; var f; 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; } f = arrayfcn( isEven ); bool = f( arr1 ); // returns false bool = f( arr2 ); // returns true ```
* * * ## Notice This package is part of [stdlib][stdlib], a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more. For more information on the project, filing bug reports and feature requests, and guidance on how to develop [stdlib][stdlib], see the main project [repository][stdlib]. #### Community [![Chat][chat-image]][chat-url] --- ## License See [LICENSE][stdlib-license]. ## Copyright Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors].