reject
Return a shallow copy of an array containing only those elements which fail a test implemented by a predicate function.
Usage
var reject = require( '@stdlib/array/base/reject' );
reject( x, predicate[, thisArg] )
Returns a shallow copy of an array containing only those elements which fail a test implemented by a predicate
function.
function isPositive( value ) {
return ( value > 0 );
}
var x = [ 1, -2, -3, 4 ];
var out = reject( x, isPositive );
// returns [ -2, -3 ]
The predicate
function is provided three arguments:
- value: current array element.
- index: current array element index.
- arr: input array.
To set the predicate
function execution context, provide a thisArg
.
function predicate( value ) {
this.count += 1;
return ( value > 0 );
}
var x = [ 1, 2, -3, 4 ];
var context = {
'count': 0
};
var out = reject( x, predicate, context );
// returns [ -3 ]
var cnt = context.count;
// returns 4
Notes
- The function performs a linear scan and always returns a generic array.
Examples
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive;
var naryFunction = require( '@stdlib/utils/nary-function' );
var reject = require( '@stdlib/array/base/reject' );
var x = discreteUniform( 10, -5, 5, {
'dtype': 'int32'
});
// returns <Int32Array>
var out = reject( x, naryFunction( isPositiveInteger, 1 ) );
// returns <Int32Array>