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; }; |