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 | 3x 6x 6x 3x 3x 2x 2x | import {Dictionary, KeyProjection} from 'fnxt/fnxt-types'; export const distinctBy = <E>(projection: KeyProjection<E>) => (array: E[]): E[] => { const set: Dictionary<E> = {}; for (const e of array) { const key = projection(e); if (set[key] === undefined) { set[key] = e; } } return Object.values(set); }; |