JSFiddle - React, Tailwind, and code Playground

JavaScript

function partialAny(){
 var func = arguments[0];
 var args = [].slice.call(arguments, 1);
 return function(){
var added = false;
var innerArgs = args.slice(0);
   for(var i = 0; i<arguments.length; i++){
     if(arguments[i]!==undefined){
   
       for(var n = 0; n<innerArgs.length; n++){
         if(innerArgs[n]===undefined){
         
          innerArgs[n] = arguments[i];
          added = true;
          break;
         }
       }
       if(!added){innerArgs.push(arguments[i]); added=false}
     }
   }
 
   return func.apply(this, innerArgs);
 }
  
}


function test(a, b, c, d) { return [].slice.call(arguments); }
console.log(partialAny(test, undefined, 1, undefined, 2, undefined, 4)(7));