13 lines
349 B
JavaScript
13 lines
349 B
JavaScript
function rest(func, startIndex = func.length - 1) {
|
|
return function (...args) {
|
|
const rest = args.slice(startIndex);
|
|
const params = args.slice(0, startIndex);
|
|
while (params.length < startIndex) {
|
|
params.push(undefined);
|
|
}
|
|
return func.apply(this, [...params, rest]);
|
|
};
|
|
}
|
|
|
|
export { rest };
|