w3resource

JavaScript: Create a function that invokes the provided function with its arguments arranged according to the specified indexes

JavaScript: Exercise-158 with Solution

Rearrange Function Arguments

Write a JavaScript program to create a function that invokes the provided function with its arguments arranged according to the specified indexes.

  • Use Array.prototype.map() to reorder arguments based on indexes.
  • Use the spread operator (...) to pass the transformed arguments to fn.

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2 
// Define a function 'rearg' that rearranges the arguments passed to another function based on specified indexes
// It takes two parameters:
// 1. 'fn': The function whose arguments need to be rearranged
// 2. 'indexes': An array of indexes specifying the new order of arguments

const rearg = (fn, indexes) => 
  // Return a new function that takes any number of arguments ('...args')
  (...args) => 
    // Call the original function 'fn' with rearranged arguments using 'indexes' array
    fn(...indexes.map(i => args[i]));

// Define a function 'rearged' which is the result of rearranging the arguments of a given function
var rearged = rearg(
  // Original function that takes three arguments and returns an array of those arguments
  function(a, b, c) {
    return [a, b, c];
  },
  // Array specifying the new order of arguments
  [2, 0, 1]
);

// Call the 'rearged' function with three arguments 'b', 'c', and 'a'
console.log(rearged('b', 'c', 'a')); // Logs ['a', 'b', 'c'], as the arguments are rearranged

Output:

["a","b","c"]

Visual Presentation:

JavaScript Fundamental: Create a function that invokes the provided function with its arguments arranged according to the specified indexes.

Flowchart:

flowchart: Create a function that invokes the provided function with its arguments arranged according to the specified indexes

Live Demo:

See the Pen javascript-basic-exercise-158-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to redirect to a specified URL.
Next: Write a JavaScript program to get an array of lines from the specified file.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-158.php