getCurriedFunc
by shan10213223
JavaScript
function func() {
const args = Array.from(arguments);
console.log('type: ', typeof args);
return function curried(arg2) {
/* console.log('arg2: ', arg2, 'args: ', args);
let res = arg2;
for (let i = 0; i < args.length; i++) {
console.log(' res: ', res);
const cur = args[i];
res = cur(res);
}
return res; */
return args.reduce((acc, cur) => {
return cur(acc);
}, arg2);
}
}
function add2(val) {
const res = val + 2;
console.log('add2: ', res)
return res;
}
function multiply3(val) {
const res = val * 3;
console.log('mutiply3: ', res);
return res;
}
console.log(func(add2, multiply3)(2));