Dzmitryj_Black
@Dzmitryj_Black
Front-end Engineer

Как вызвать функцию как параметр внутри другой функции?

Есть именная функция. Мне нужно сделать так, чтобы в функцию передавалась другая функция в виде параметра, и также ее параметры.

При этом, имя функции-параметра также неизвестны как и количество переменных, которые она принимает.

Я знаю, что есть spread-оператор. func (...args) => {}

Но как вызвать функцию-параметр не могу понять. Присвоить ей значение-ссылку не помогает. Есть псевдомассив arguments. Его можно перебирать. Но как обьяснить интерпретатору, чть остальные аргументы - лишь параметры для первого аргумента?
  • Вопрос задан
  • 150 просмотров
Решения вопроса 2
RAX7
@RAX7
function callMe(...args) {
  console.log(...args);
}

function callFn(fn, ...args) {
  fn.apply(null, args);
}

callFn(callMe, 1, 2, 3, 42);
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
const xxx = (f, ...args) => f.apply(null, args);

xxx(console.log, 'aaa', 'bbb', 'ccc')
xxx(alert, 'hello, world!!')
xxx((...args) => args.reduce((p, c) => p * c, 1), 3, 4, 5)
xxx(xxx, Math.max, 6, 3, 8, 1, 2)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 08:04
1 руб./за проект
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект