w3resource

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

JavaScript: Exercise-158 with Solution

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 
const rearg = (fn, indexes) => (...args) => fn(...indexes.map(i => args[i]));
var rearged = rearg(
  function(a, b, c) {
    return [a, b, c];
  },
  [2, 0, 1]
);
console.log(rearged('b', 'c', 'a'));

Sample Output:

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

Pictorial 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.



JavaScript: Tips of the Day

How to check whether a string contains a substring in JavaScript?

ECMAScript 6 introduced String.prototype.includes:

const string = "foo";
const substring = "oo";

console.log(string.includes(substring));

includes doesn't have Internet Explorer support, though. In ECMAScript 5 or older environments, use String.prototype.indexOf, which returns -1 when a substring cannot be found:

var string = "foo";
var substring = "oo";

console.log(string.indexOf(substring) !== -1);

Ref: https://bit.ly/3fFFgZv