invertBy 
INFO
この関数は互換性のために es-toolkit/compat からのみインポートできます。代替可能なネイティブ JavaScript API があるか、まだ十分に最適化されていないためです。
es-toolkit/compat からこの関数をインポートすると、lodash と完全に同じように動作します。
与えられたオブジェクトのキーと値を invert 関数のように反転させた新しいオブジェクトを生成します。
値がどのようにキーに反転されるかを iteratee 関数で指定します。iteratee 関数が与えられない場合、値はそのままキーとして使用されます。
新しいオブジェクトの値は、iteratee 関数が返した値が同じキーの配列になります。
インターフェース 
typescript
function invertBy<K extends PropertyKey, V>(object: Record<K, V>, iteratee?: (value: V) => string): Record<string, K[]>;パラメータ 
- object(- Record<K, V>): 反転するオブジェクト。
- iteratee(- (value: V) => string): オブジェクトのキーとして反転される値を別の文字列に変換する方法を指定する関数。提供されない場合、値はそのままキーとして反転されます。
戻り値 
(Record<string, K[]>): キーと値が反転したオブジェクト。キーは iteratee 関数で変換された値になり、値は iteratee 関数が返した値が同じキーの配列です。
例 
typescript
const obj = { a: 1, b: 2, c: 1 };
const result = invertBy(obj);
// result => { '1': ['a', 'c'], '2': ['b'] }
const obj = { a: 1, b: 2, c: 1 };
const result = invertBy(obj, value => `group${value}`);
// result => { 'group1': ['a', 'c'], 'group2': ['b'] }
