Skip to content

rearg

创建一个函数,该函数根据指定的 indexes 重新排列参数来调用 func,其中第一个索引位置的参数值作为第一个参数,第二个索引位置的参数值作为第二个参数,依此类推。

签名

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

参数

  • func (F): 用于重新排列参数的函数。
  • indexes (Array<number | number[]>): 排列后的参数索引。

返回值

((...args: any[]) => ReturnType<F>): 返回新的函数。

示例

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

const rearged = rearg(
  function (a, b, c) {
    return [a, b, c];
  },
  [2, 0, 1]
);

rearged('b', 'c', 'a');
// => ['a', 'b', 'c']

采用 MIT 许可证发布。