(array: T[], isIdentical: (x: T, y: T) => boolean = (x, y) => (x === y))
| 691 | |
| 692 | // Keeps only the unique entries in an array, optionally with a custom comparison function |
| 693 | export function uniqueEntries<T>(array: T[], isIdentical: (x: T, y: T) => boolean = (x, y) => (x === y)){ |
| 694 | function uniqueFunction(v: T, index: number, array: T[]): boolean { |
| 695 | return array.findIndex(v2 => isIdentical(v2, v)) === index; |
| 696 | } |
| 697 | return array.filter(uniqueFunction); |
| 698 | } |