mskfilter
Apply a mask to a provided input array.
Usage
var mskfilter = require( '@stdlib/array/base/mskfilter' );
mskfilter( x, mask )
Returns a new array by applying a mask to a provided input array.
var x = [ 1, 2, 3, 4 ];
var y = mskfilter( x, [ 0, 1, 0, 1 ] );
// returns [ 2, 4 ]
The function supports the following parameters:
- x: input array.
- mask: mask array.
The function always returns a new "generic" array.
mskfilter.assign( x, mask, out, stride, offset )
Applies a mask to a provided input array and assigns unmasked values to elements in a provided output array.
var x = [ 1, 2, 3, 4 ];
var mask = [ 0, 1, 0, 1 ];
var out = [ 0, 0, 0, 0 ];
var arr = mskfilter.assign( x, mask, out, -2, out.length-1 );
// returns [ 0, 4, 0, 2 ]
var bool = ( arr === out );
// returns true
The function supports the following parameters:
- x: input array.
- mask: mask array.
- out: output array.
- stride: output array stride.
- offset: output array offset.
Notes
- If a
mask
array element is truthy, the corresponding element inx
is included in the output array; otherwise, the corresponding element inx
is "masked" and thus excluded from the output array.
Examples
var zeroTo = require( '@stdlib/array/base/zero-to' );
var bernoulli = require( '@stdlib/random/array/bernoulli' );
var mskfilter = require( '@stdlib/array/base/mskfilter' );
// Generate a linearly spaced array:
var x = zeroTo( 20 );
console.log( x );
// Generate a random mask:
var mask = bernoulli( x.length, 0.5, {
'dtype': 'generic'
});
console.log( mask );
// Filter an array using the mask:
var y = mskfilter( x, mask );
console.log( y );