Skip to content

rest (Lodash 互換性)

es-toolkitrest を使用してください

この rest 関数は、デフォルト値処理やインデックス検証などの追加ロジックにより、パフォーマンスが低下する可能性があります。

代わりに、より高速で現代的な es-toolkitrest を使用してください。

指定されたインデックスから残りの引数を配列にグループ化する関数を作成します。

typescript
const restFunc = rest(func, start);

参照

rest(func, start)

指定されたインデックスから残りの引数を配列にグループ化して関数の引数を変換したい場合は、rest を使用してください。可変長引数を受け取る関数を作成するのに便利です。

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

// 基本的な使用法 - 最後の引数を配列にグループ化
function logMessage(level, message, ...details) {
  console.log(`[${level}] ${message}`, details);
}

const restLogger = rest(logMessage, 2);
restLogger('ERROR', 'エラーが発生しました', '詳細情報 1', '詳細情報 2');
// 内部的に logMessage('ERROR', 'エラーが発生しました', [['詳細情報 1', '詳細情報 2']]) として呼び出されます

// 別のインデックスの例
function process(action, target, ...args) {
  return { action, target, args };
}

const restProcess = rest(process, 1);
restProcess('update', 'user', 'name', 'John', 'age', 25);
// { action: 'update', target: ['user', 'name', 'John', 'age', 25], args: [] }

関数の最後の引数を配列として受け取りたい場合に使用します。現代の JavaScript では、残余パラメータ構文(...args)を使用するのがより一般的です。

パラメータ

  • func (Function): 変換する関数です。
  • start (number, オプション): 配列へのグループ化を開始するインデックスです。デフォルト値は func.length - 1 です。

戻り値

(Function): 指定されたインデックスから残りの引数を配列にグループ化する新しい関数を返します。

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