mskfilter2

Apply a mask to two provided input arrays in a single pass.

Usage

var mskfilter2 = require( '@stdlib/array/base/mskfilter2' );

mskfilter2( x, y, mask )

Returns new arrays by applying a mask to two provided input arrays in a single pass.

var x = [ 1, 2, 3, 4 ];
var y = [ 0, 1, 2, 3 ];

var out = mskfilter2( x, y, [ 0, 1, 0, 1 ] );
// returns [ [ 2, 4 ], [ 1, 3 ] ]

The function supports the following parameters:

  • x: first input array.
  • y: second input array.
  • mask: mask array.

The function always returns new "generic" arrays.

Notes

  • If a mask array element is truthy, the corresponding elements in the input arrays are included in the respective output arrays; otherwise, the corresponding elements in the input arrays are "masked" and thus excluded from the respective output arrays.

Examples

var zeroTo = require( '@stdlib/array/base/zero-to' );
var bernoulli = require( '@stdlib/random/array/bernoulli' );
var mskfilter2 = require( '@stdlib/array/base/mskfilter2' );

// Generate linearly spaced arrays:
var x = zeroTo( 20 );
console.log( x );

var y = zeroTo( x.length );
console.log( y );

// Generate a random mask:
var mask = bernoulli( x.length, 0.5, {
    'dtype': 'generic'
});
console.log( mask );

// Filter both arrays using the mask:
var out = mskfilter2( x, y, mask );
console.log( out );
Did you find this page helpful?