dedupe
Remove consecutive duplicated values.
Usage
var dedupe = require( '@stdlib/array/base/dedupe' );
dedupe( x, limit, equalNaNs )
Removes consecutive duplicated values.
var x = [ 1, 1, 2, 3, 3 ];
var y = dedupe( x, 1, false );
// returns [ 1, 2, 3 ]
var bool = ( x === y );
// returns true
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 = dedupe( x, 1, false );
// returns [ NaN, NaN, 2, NaN, NaN ]
var y2 = dedupe( 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 = dedupe( x, 2, false );
// returns [ 1, 1, 2, 2, 3, 3 ]
Notes
- The function mutates the input array.
Examples
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var dedupe = require( '@stdlib/array/base/dedupe' );
// Create an array of random numbers:
var x = discreteUniform( 30, 0, 5, {
'dtype': 'generic'
});
// returns [...]
// Remove consecutive duplicates:
var y = dedupe( x, 1, false );
// returns [...]
console.log( y );