JSFiddle - React, Tailwind, and code Playground
JavaScript
function partialAny(fn) {
var args = [].slice.call(arguments);
args.shift();
return function() {
var newArgs = [];
for(var i in args) {
if(args[i] == undefined) {
args[i] = [].slice.call(arguments).shift();
}
newArgs[i] = args[i];
}
return fn.apply(null, newArgs);
}
}
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
function mult(a, b, c, d) {console.log("multc="+c); return a * b * c * d; }
var parAnyMult = partialAny(mult, 1, undefined, undefined, 4);
console.log(parAnyMult(2, 3));