Skip to content

partial

偏函数

参数

参数名参数类型参数说明
fnany需要偏函数函数
valuesunknown[]fn 函数参数

源代码&使用

ts
import { partial } from "@manzhixing/utilsxy"

function isType(type: string, val: any) {
  return Object.prototype.toString.call(val) === `[object ${type}]`;
}
let isString = partial(isType, "String");
let isArray = partial(isType, "Array");
let isDate = partial(isType, "Date");

isString("chengbotao"); // true
isArray([]); // true
isDate(new Date()); // true
ts
/*
 * @Author: Chengbotao
 * @Contact: https://github.com/chengbotao
 */
export function partial(fn: any, ...values: unknown[]) {
  const args = Array.prototype.slice.call(values);
  return function (this: unknown, ...values: unknown[]) {
    const lambdaArgs = Array.prototype.slice.call(values);
    Array.prototype.push.apply(args, lambdaArgs);
    return fn.apply(this, args);
  };
}