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 );
Did you find this page helpful?