テーマ選択から重複要素を排除するように (#8385)

This commit is contained in:
MeiMei
2022-03-09 22:18:14 +09:00
committed by GitHub
parent 9b8dc4c417
commit a07037affc
2 changed files with 13 additions and 2 deletions

View File

@ -52,6 +52,17 @@ export function unique<T>(xs: T[]): T[] {
return [...new Set(xs)];
}
export function uniqueBy<TValue, TKey>(values: TValue[], keySelector: (value: TValue) => TKey): TValue[] {
const map = new Map<TKey, TValue>();
for (const value of values) {
const key = keySelector(value);
if (!map.has(key)) map.set(key, value);
}
return [...map.values()];
}
export function sum(xs: number[]): number {
return xs.reduce((a, b) => a + b, 0);
}