Returns an iterator which returns unique values according to a predicate function.
O(N)
memory requirements.Symbol.iterator
and a provided iterator is iterable, the returned iterator is iterable.input iterator
predicate function
predicate function execution context
iterator
var array2iterator = require( `@stdlib/array/to-iterator` );
function predicate( a, b ) {
return ( a !== b );
}
var iter = iterUniqueBy( array2iterator( [ 1, 2, 1, 2, 4 ] ), predicate );
var v = iter.next().value;
// returns 1
v = iter.next().value;
// returns 2
v = iter.next().value;
// returns 4
var bool = iter.next().done;
// returns true
Tests whether a value is different from a previously identified unique value.
a previously identified unique value
the value whose uniqueness is being determined
boolean indicating whether a value is different