diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2019-10-21 00:43:39 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-10-21 00:43:39 +0900 |
| commit | 4c6c06c80afd3e2309b305f40c2e67e48863bf31 (patch) | |
| tree | d9d24139b126867a3ff1f4e893175aea05ebd01e /src/prelude | |
| parent | Add ssl to elasticsearch config settings (#5527) (diff) | |
| download | sharkey-4c6c06c80afd3e2309b305f40c2e67e48863bf31.tar.gz sharkey-4c6c06c80afd3e2309b305f40c2e67e48863bf31.tar.bz2 sharkey-4c6c06c80afd3e2309b305f40c2e67e48863bf31.zip | |
Improve emoji-picker (#5515)
* Improve emoji-picker
* remove unimplanted translation
* カテゴリのサジェスト
* use unique
Diffstat (limited to 'src/prelude')
| -rw-r--r-- | src/prelude/array.ts | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/prelude/array.ts b/src/prelude/array.ts index 839bbc920b..f4d684d574 100644 --- a/src/prelude/array.ts +++ b/src/prelude/array.ts @@ -84,6 +84,19 @@ export function groupOn<T, S>(f: (x: T) => S, xs: T[]): T[][] { return groupBy((a, b) => f(a) === f(b), xs); } +export function groupByX<T>(collections: T[], keySelector: (x: T) => string) { + return collections.reduce((obj: Record<string, T[]>, item: T) => { + const key = keySelector(item); + if (!obj.hasOwnProperty(key)) { + obj[key] = []; + } + + obj[key].push(item); + + return obj; + }, {}); +} + /** * Compare two arrays by lexicographical order */ |