0

I want to pass additional parameters to the callback function

function x(logic){
return logic();
}
x(sum, 5, 2);
function sum(){
console.log('sum is ', a + b);
}
Webby
  • 333
  • 3
  • 5
  • 1
    Does this answer your question? [Pass an extra argument to a callback function](https://stackoverflow.com/questions/40802071/pass-an-extra-argument-to-a-callback-function) – Ivar Feb 01 '22 at 16:31
  • Or use rest parameters `function x(logic, ...rest) { return logic(...rest); }` You'll need to add `a` and `b` to your `sum` function though... – Heretic Monkey Feb 01 '22 at 16:35
  • @Ivar not exactly – Webby Feb 02 '22 at 15:00

1 Answers1

0

My problem has resolved with .apply() method

function x(logic, params){
return logic.apply(null, params);
}

let sum = (a, b) => console.log('sum is', a + b);
let sub = (a, b) => console.log('sub is', a - b)
let multi = (a, b) => console.log('multy is', a * b)
let div = (a, b) => console.log('div is', a / b)

x(sum, [7, 5]);
x(sub, [7, 5]);
x(multi, [7, 5]);
x(div, [7, 5]);
Webby
  • 333
  • 3
  • 5