JSFiddle - React, Tailwind, and code Playground
JavaScript
function test(a, b, c) { return 'a=' + a + ',b=' + b + ',c=' + c; };
function partial3(func) {
var self = func, boundArgs = arguments;
return function() {
var args = Array.prototype.slice.call(boundArgs, 1);
var i = 0, j = 0;
for(; i < args.length; i++) {
if (args[i] === undefined) args[i] = arguments[j++];
}
var insideArgs = Array.prototype.slice.call(arguments, j);
var argsFinal = args.concat(insideArgs);
return self.apply(this, argsFinal);
}
}
var test1_3 = partial3(test, 1, undefined, 3);
console.log(test1_3(5)); // a=1,b=5,c=3