Skip to content

rearg

INFO

この関数は互換性のために es-toolkit/compat からのみインポートできます。代替可能なネイティブ JavaScript API があるか、まだ十分に最適化されていないためです。

es-toolkit/compat からこの関数をインポートすると、lodash と完全に同じように動作します。

func 関数に与えられる引数の順序を変更する新しい関数を生成します。

indices 配列が示すインデックスに従って引数の順序が変わります。例えば、indices[2, 0, 1] の場合、新しい関数の最初の引数は第三の引数として、第二の引数は第一の引数として、第三の引数は第二の引数として与えられます。

インターフェース

typescript
function rearg<F extends (...args: any[]) => any>(
  func: F,
  ...indices: Array<number | number[]>
): (...args: any[]) => ReturnType<F>;

パラメータ

  • func (F): 引数を並べ替える関数です。
  • indices (Array<number | number[]>): 並べ替えられた引数のインデックスです。

戻り値

((...args: any[]) => ReturnType<F>): 新しい関数を返します。

typescript
import { rearg } from 'es-toolkit/compat';

const greet = (greeting: string, name: string) => `${greeting}, ${name}!`;
const rearrangedGreet = rearg(greet, 1, 0);
console.log(rearrangedGreet('World', 'Hello')); // Output: "Hello, World!"

MIT ライセンスの下で配布されています。