极客时间对于推广渠道会有返利优惠,比如山月在极客时间买了一门课,再把课程分享给好友购买,这时极客时间会向山月返利20元左右。
而我现在做了一个返利平台,你可以在上边通过山月的链接购买课程,此时极客时间会向我返利。为了共同学习,而你可以添加我的微信 (shanyue94),我将把极客时间给我的返利发一个红包全部返给你

# 如何实现无限累加的一个函数

更多描述

实现一个 sum 函数如下所示:

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

Issue

欢迎在 Issue 中交流与讨论: Issue 428 (opens new window)

这是一个关于懒计算的函数,使用 sum 收集所有累加项,使用 valueOf 进行计算

  1. sum 返回一个函数,收集所有的累加项,使用递归实现
  2. 返回函数带有 valueOf 属性,用于统一计算
function sum (...args) {
  const f = (...rest) => sum(...args, ...rest)
  f.valueOf = () => args.reduce((x, y) => x + y, 0)
  return f
}

关于山月

我的项目:
我的微信:shanyue94,欢迎交流
Last Updated: 3/25/2021, 1:23:25 PM