Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 5x 8x 8x 8x 11x 11x 9x 9x 4x | import {Dictionary, KeyProjection} from 'fnxt/fnxt-types';
export const uniqueBy = <E>(projection: KeyProjection<E>) => (array: E[]): E[] => {
const map: Dictionary<boolean> = {};
const result: E[] = [];
for (const e of array) {
const key = projection(e);
if (!map[key]) {
map[key] = true;
result.push(e);
}
}
return result;
};
|