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() {
var newArgs = [].slice.call(arguments);;
for (arg in args) {
if(typeof(args[arg]) === 'undefined') {
args[arg] = newArgs.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