toDeduped
Copy elements to a new "generic" array after removing consecutive duplicated values.
Usage
var toDeduped = require( '@stdlib/array/base/to-deduped' );
toDeduped( x, limit, equalNaNs )
Copies elements to a new "generic" array after removing consecutive duplicated values.
var x = [ 1, 1, 2, 3, 3 ];
var y = toDeduped( x, 1, false );
// returns [ 1, 2, 3 ]
var bool = ( x === y );
// returns false
When equalNaNs
is false
, NaN
values are considered distinct, and, when equalNaNs
is true
, NaN
values are considered equal.
var x = [ NaN, NaN, 2, NaN, NaN ];
var y1 = toDeduped( x, 1, false );
// returns [ NaN, NaN, 2, NaN, NaN ]
var y2 = toDeduped( x, 1, true );
// returns [ NaN, 2, NaN ]
To allow consecutive duplicate values up to a specified limit, provide a limit
argument greater than one.
var x = [ 1, 1, 1, 2, 2, 3, 3, 3 ];
var y = toDeduped( x, 2, false );
// returns [ 1, 1, 2, 2, 3, 3 ]
Notes
- The function always returns a new "generic" array.
Examples
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var toDeduped = require( '@stdlib/array/base/to-deduped' );
// Create an array of random numbers:
var x = discreteUniform( 30, 0, 5, {
'dtype': 'generic'
});
// returns [...]
// Remove consecutive duplicates:
var y = toDeduped( x, 1, false );
// returns [...]
console.log( x );
console.log( y );