partial
偏函数
参数
参数名 | 参数类型 | 参数说明 |
---|---|---|
fn | any | 需要偏函数函数 |
values | unknown[] | 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);
};
}