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));