看到一道题有点意思:
题目:编写函数方法实现
- 形式1:sum(1).sumof()
- 形式2:sum(1,2).sumof()
- 形式3:sum(1)(2, 3).sumof()
- 最终求得的结果,需要是各个出现的数字的和。
目前想到的写法:
function sum(...lastArgs) {
var callback = function(...args) {
return sum(...[ ...lastArgs, ...args ]);
};
callback.sumof = function() {
return lastArgs.reduce((aggregated, number) => aggregated + number, 0);
};
return callback;
}