{{alias}}( iterator, hashFcn[, thisArg] ) Returns an iterator which returns unique values according to a hash function. 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: Object Input iterator. hashFcn: Function Hash function. thisArg: any (optional) Execution context. Returns ------- iterator: Object Iterator. iterator.next(): Function Returns an iterator protocol-compliant object containing the next iterated value (if one exists) and a boolean flag indicating whether the iterator is finished. iterator.return( [value] ): Function Finishes an iterator and returns a provided value. Examples -------- > var it1 = {{alias:@stdlib/array/to-iterator}}( [ 1, 2, 1, 2, 4 ] ); > function f( v ) { return v.toString(); }; > var it2 = {{alias}}( it1, f ); > var v = it2.next().value 1 > v = it2.next().value 2 > v = it2.next().value 4 > var bool = it2.next().done true See Also --------