Введение
В этом практическом занятии мы изучим функцию rearg в JavaScript, которая позволяет нам изменить порядок аргументов, передаваемых в функцию, на основе указанных индексов. Мы узнаем, как использовать метод Array.prototype.map() и оператор расширения для преобразования аргументов и вызова исходной функции с переупорядоченными аргументами. В конце этого практического занятия вы хорошо освоите, как использовать функцию rearg для манипуляции аргументами функций в JavaScript.
Как переупорядочить аргументы функции в JavaScript
Для переупорядочивания аргументов функции в JavaScript можно использовать функцию rearg(). Сначала создайте функцию, которая вызывает предоставленную функцию с ее аргументами, расположенными в соответствии с указанными индексами. Вы можете использовать Array.prototype.map() для переупорядочивания аргументов на основе indexes. Затем используйте оператор расширения (...), чтобы передать преобразованные аргументы в fn.
Вот пример того, как использовать функцию rearg():
const rearg =
(fn, indexes) =>
(...args) =>
fn(...indexes.map((i) => args[i]));
В этом примере мы используем rearg() для создания новой функции, которая переупорядочивает аргументы другой функции.
var rearged = rearg(
function (a, b, c) {
return [a, b, c];
},
[2, 0, 1]
);
rearged("b", "c", "a"); // ['a', 'b', 'c']
В коде выше мы создаем новую функцию rearged, которая переупорядочивает аргументы функции function(a, b, c) { return [a, b, c]; }. Аргумент indexes задает порядок, в котором аргументы должны быть переупорядочены. В этом случае мы хотим, чтобы третий аргумент был первым, первый аргумент был вторым и второй аргумент был третьим. Когда мы вызываем rearged('b', 'c', 'a'), возвращается ['a', 'b', 'c'], что является результатом вызова исходной функции с переупорядоченными аргументами.
Резюме
Поздравляем! Вы завершили практическое занятие по переупорядочиванию аргументов функции. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.