JSFiddle - React, Tailwind, and code Playground
JavaScript
function partial(fn) {
var args = [].slice.call(arguments);
args.shift();
return function() {
var newArgs = args.concat([].slice.call(arguments));
return fn.apply(null, newArgs);
}
}
function partialAny(fn) {
var args = [].slice.call(arguments);
args.shift();
return function() {
args[args.indexOf(undefined)] = [].slice.call(arguments).shift();
return fn.apply(null, args);
}
}
function test(a, b, c) { return 'a=' + a + ',b=' + b + ',c=' + c; }
var test1_3 = partialAny(test, 1, undefined, 3);
console.log(test1_3(5)); // a=1,b=5,c=3