Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "iter/unique-by-hash/docs/types/index.d"

Index

Type aliases

Functions

Type aliases

HashFunction

HashFunction: (value?: any) => any

Hash function.

param

iterated value

returns

hash value

Type declaration

    • (value?: any): any
    • Parameters

      • Optional value: any

      Returns any

Iterator

Iterator: Iter | IterableIterator

Functions

Export assignment iterUniqueByHash

  • Returns an iterator which returns unique values according to a hash function.

    Notes

    • A returned iterator internally buffers unique hashes and, thus, has O(N) memory requirements.
    • An iterated value is considered "unique" if the hash function returns a unique hash value for that iterated value. Beware that this may result in unexpected behavior. Namely, only the first iterated value mapping to a particular hash function result is returned, even if subsequent values, while mapping to the same hash, are different. Accordingly, iteration order does matter.
    • If an environment supports Symbol.iterator and a provided iterator is iterable, the returned iterator is iterable.

    Parameters

    • iterator: Iterator

      input iterator

    • hashFcn: HashFunction

      hash function

    • Optional thisArg: any

      hash function execution context

    Returns Iterator

    iterator

    Example

    var array2iterator = require( `@stdlib/array/to-iterator` );
    
    function hashFcn( v ) {
        return v.toString();
    }
    
    var iter = iterUniqueByHash( array2iterator( [ 1, 2, 1, 2, 4 ] ), hashFcn );
    
    var v = iter.next().value;
    // returns 1
    
    v = iter.next().value;
    // returns 2
    
    v = iter.next().value;
    // returns 4
    
    var bool = iter.ne