这篇文章主要讲解了“github怎么实现无限累加的一个函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“github怎么实现无限累加的一个函数”吧!
sum(1, 2, 3).valueOf() //6
sum(2, 3)(2).valueOf() //7
sum(1)(2)(3)(4).valueOf() //10
sum(2)(4, 1)(2).valueOf() //9
sum(1)(2)(3)(4)(5)(6).valueOf() // 21
这是一个关于懒计算的函数,使用 sum
收集所有累加项,使用 valueOf
进行计算
-
sum 返回一个函数,收集所有的累加项,使用递归实现 -
返回函数带有
valueOf
属性,用于统一计算
function sum (...args) {
const f = (...rest) => {
return sum(...[...args, ...rest])
}
f.valueOf = () => {
return args.reduce((x, y) => x + y, 0)
}
return f
}
感谢各位的阅读,以上就是“github怎么实现无限累加的一个函数”的内容了,经过本文的学习后,相信大家对github怎么实现无限累加的一个函数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/219908.html