2797. 带有占位符的部分函数
2025年6月25日小于 1 分钟
2797. 带有占位符的部分函数
type JSONValue =
| null
| boolean
| number
| string
| JSONValue[]
| { [key: string]: JSONValue }
type Fn = (...args: JSONValue[]) => JSONValue
function partial(fn: Fn, args: JSONValue[]): Fn {
return function (...restArgs) {
let _args = args.map((item) => {
if (restArgs.length > 0 && item === '_') {
return restArgs.shift()
}
return item
})
if (restArgs.length > 0) {
_args = _args.concat(restArgs)
}
return fn(...(_args as JSONValue[]))
}
}