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:
Flowchart:
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.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics